如何安全配置mysql

时间 : 19-09-30 栏目 : 虚拟化 作者 : 老薛 评论 : 1 点击 : 75 次

1、 MySQL数据库版本的选择
生产环境中,建议使用5.6
2、 用户与端口的配置
2.1、确保MySQL运行用户为一般用户
确保mysql用户登录shell为nologin
[root@mysql-master001 ~]# usermod -s /sbin/nologin mysql
对MySQL运行用户降权,以普通用户身份运行MySQL
[root@mysql-master001 ~]# vim /usr/local/mysql/my.cnf
user = mysql
[root@mysql-master001 ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@mysql-master001 ~]#
如果是用命令启动的,则在参数后面加上--user=mysql即可。
注意存放目录权限:
[root@mysql-master001 ~]# chown -R mysql.mysql /data/mysql/
按照以上操作后,mysql就会以用户mysql身份来启动mysqld,并且会以该用户身份来接受连接。以上mysql用户也可以改为其它用户。(不改变safe_mysqld是必要的。)

2.2、修改默认端口
建议修改默认端口3306,改为其他的一些端口。

[root@mysql-master001 ~]# vim /usr/local/mysql/my.cnf
[mysqld]
 port = 3389
[root@mysql-master001 ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@mysql-master001 ~]#
3、 开启binlog
开启mysql二进制日志,在误删除数据的情况下,可以通过二进制日志恢复到某个时间点

3.1、登录MySQL查看bin-log状态

登录MySQL后,输入show variables like '%log_bin%';查看到binlog日志为OFF关闭状态;

3.2、开启binlog
先quit退出MySQL

修改MySQL配置文件my.cnf,加入如下两行
[root@mysql-master001 ~]# vim /usr/local/mysql/my.cnf
 server-id = 11
 log_bin = /data/mysql/mysql-bin

server-id标识着单个节点的id。在主从或者集群中会使用到,不能与其他节点相同。这里只有一台机,随机设置一个数字就好了。

第二行指定bin-log的名字与存储路径。

3.3、重启让配置生效
[root@mysql-master001 ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@mysql-master001 ~]#
查看数据库日志目录:

注意:每次服务器(数据库)重启,服务器会调用flush logs;,新创建一个binlog日志

由于我之前重启过数据库,因此这里有mysql-bin.000001到mysql-bin.000003这三个文件。这里你们看到的应该只有mysql-bin.000001和mysql-bin.index两个文件
此时再次进入MySQL,查看binlog日志的状态。显示binlog日志为ON开启状态
到这里,binlog日志开启成功。

本文标签 ,

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/uncategorized/2935.html

如何安全配置mysql:目前有1 条留言

  1. Post: 2019-10-05 下午10:08

    :grin: 重启让配置生效,绝招

发表评论

2 + 2 = ?


博主微信号,很高兴为您提供帮助

随便看看

为您推荐

1