MySQL安全相关的参数有哪些?该如何配置?
1、MySQL数据安全
innodb_flush_log_at_trx_commit =1 #innodb每次提交事务redo buffer 刷新到redo log
innodb_doublewrite =on #开启innodb特性“二次写”
secure_file_priv=null #禁用导入导出目录,避免被人利用
2、复制安装
sync_binlog = 1 #事务每次提交binlog cache刷新到binlog file
binlog_format =row #binlog格式为row格式
relay_log_info_repository =table #relay log信息记录到innodb存储引擎的table中
master_info_repository=table #master 信息记录到innodb存储引擎的table中
slave_skip_errors=off #禁止跳跃错误信息
binlog_row_image=full #全量记录binlog日志内容
3、使用建议
master-slave:建议开启gtid,采用半同步复制或者mgr高可用
密码相关:设置密码复杂度,定期修改密码,针对应用app授权,减少权限分配
存储引擎:建设使用innodb,避免使用myisam
网络环境:内外隔离,不要把数据库直接暴漏到公网
相关连接:
"MySQL数据安全策略":
http://t.cn/EfvKeFD
"我猜你一定达不到要求的《MySQL安全策略":
http://t.cn/Efv9yjI
MySQL DBA运维中那些动作属于危险性操作?
1、MySQL无备份、备份无校对。
2、执行rm -rf / tmp 等类似操作,执行rm 前要三思。
3、执行kill -9等操作
4、binlog 非row格式,执行dml操作(update、delete)
5、在生产环境执行测试命令。或在生产环境直接调索引。
6、避免使用一些骚操作:"slave_skip_errors" ,或故意导致主从不一致操作。
7、drop database
8、DML操作条件写错, 线上DDL导致业务报错
9、恢复数据,实例不对(基于IP连接管理环境)
10、线上高并发环境运行 flush table ; flush table with read lock; lock table;
11、数据库重启空间不够文件损坏,初始化数据库把机器IO资源占满
12、从库延迟并对外提供服务
13、开多窗口操作重要数据库
14、敏感字段不加密,备份不加密存放,线上数据同步到线下
15、犯困时操作线上环境