有个需求,需要在客户端Linux上定期备份Oracle某个账户下的数据(使用oracle的exp命令),而因为需要exp而去安装整个Oracle服务器显然有点小题大做了。 备份脚本的文章详见:https://blog.terrynow.com/2021/10/22/linux-oracle-client-backup-script-example/ 经过一番摸索,找到了Linux下仅安装OracleClient/最小化安装exp需要的程序。 Oracle在12.2开始在oracle client/tools里包含了…

2021-10-23 0条评论 995点热度 0人点赞 admin 阅读全文

如果自己个人搭个小网站,例如博客之类的,流量小,不需要很好的配置的服务器,可以买内存和CPU较小的服务器,不过要在上面安装MySQL Server,跑了一会儿就会把服务器内存吃掉大部分。 我们可以对MySQL进行配置,来达到节约内存的目的 修改MySQL配置文件,一般是在服务器上的/etc/my.cnf 或者是/etc/my.cnf.d/目录下看有没有配置文件,可能是mysql-server.cnf 添加如下配置(注意如果配置文件里有[mysqld]了,只要添加[mysqld]下面的内容) [mysqld] per…

2021-10-08 0条评论 774点热度 0人点赞 admin 阅读全文

本篇介绍MySQL下和时间、日期相关的函数 以下SQL命令,大小写都是可以的 MySQL时间单位说明 year 年 quarter 季度 month 月 week 周 day 天 hour 小时 hour 分钟 second 秒 microsecond 微秒 -- 获得当前的时间+日期 SELECT NOW(); -- 得到 2021-10-06 09:02:28 -- 获得当前的时间+日期,也可以使用sysdate()函数 SELECT sysdate(); -- 得到 2021-10-06 09:02:28 -…

2021-10-06 0条评论 992点热度 0人点赞 admin 阅读全文

为了运维方便,我们登录了MySQL的Linux上后,希望进入MySQL不需要有密码了(因为登录SSH就需要验证了,就不需要再验证MySQL密码) 之前的文章介绍了MySQl5.7使用空密码或者简单的密码:https://blog.terrynow.com/2021/09/18/mysql-set-root-localhost-password-empty-shutdown-password-policy-requirement/ 发现MySQL8后,已经不管用了,不过有几个其他的解决方案 修改密码复杂度的Polic…

2021-09-21 0条评论 648点热度 0人点赞 admin 阅读全文

MySQL安装好后,默认数据是存在/var/lib/mysql下的,我们可以在/etc/my.cnf下看到: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 如果我们有其他数据盘,我们希望mysql的datadir修改到数据盘下(例如/storage) 于是就修改 datadir=/var/lib/mys…

2021-09-20 0条评论 737点热度 0人点赞 admin 阅读全文

MySQL8的免密码登录解决方案,请看:https://blog.terrynow.com/2021/09/21/linux-mysql-local-root-auto-login/ 如果我们安装的MySQL(版本5.7)只是作为测试用途,在本机登录MySQL的root账号(root@localhost)其实可以不用设置密码(其实就算本地root账号不设置密码,其他ip用root登录可以设置密码,算是不同的账号的),因为只有登录到这台服务器才能执行mysql -uroot来登录MySQL服务器,这样测试登录就比较方…

2021-09-18 0条评论 885点热度 0人点赞 admin 阅读全文

开发中经常会遇到时间段检查冲突问题,比如预约时间段检查等 判断给定的时间段是否和当前表中的时间段不重叠,只要判断给定的开始时间大于记录中的结束时间,或者给定的结束时间小于记录中的开始时间; 也就是判断重叠,给定的开始时间最小值小于记录中的结束时间最大值并且给定的结束时间最大值大于记录中的开始时间最小值,则一定重叠! 假设数据库表t_table 存的开始时间和结束时间是start_date和end_date 两种方式: SELECT * FROM t_table WHERE (start_date > :sta…

2021-09-12 0条评论 915点热度 0人点赞 admin 阅读全文

需要新增一个MySQL的用户,希望可以在某个IP地址段(例如192.168.1.* 或者172.16.0.0/12)来访问MySQL服务器 创建用户 CREATE USER 给用户赋权限 GRANT CREATE USER创建用户和GRANT ALL权限命令现在是可以支持子网的, @后面跟着地址段/子网,可以以下两种方式: @'%' 表示允许全部 (不建议!!!) @'192.168.1.0/255.255.255.0' 注意,不能是这么写: @'192.168.1.0/24' (本人已测试) @'192.168.…

2021-07-29 0条评论 4154点热度 0人点赞 admin 阅读全文

表中有一个字段创建日期create_date(datetime),需要再新建一个虚拟字段create_day(int),显示创建的天,如今天:20210720,方面程序的调用和统计,create_day是和create_date关联的,不需要新增一个普通的字段,然后特别的录入,只要根据create_date自动计算出来就可以了。 表结构如下: mysql> desc t_account; +-------------+--------------+------+-----+---------+--------…

2021-07-20 0条评论 798点热度 0人点赞 admin 阅读全文

MySQL插入数据的时候,如果遇到UniqueKey(唯一键)已经存在的情况下,通常情况下按报错处理,所以想要的结果是,只有当UK不存在的情况下才执行插入操作。 假设这样一张表t_student学生表,stu_no是学生编号,是唯一值: mysql> ALTER TABLE t_student ADD UNIQUE INDEX stu_no_uk1(stu_no); mysql> desc t_student; +-------------+--------------+------+-----+---…

2021-07-19 0条评论 964点热度 1人点赞 admin 阅读全文
123456