mysql5.7开启binlog、数据库全量备份
一、开启mysql binlog
参考文章,亲测有效 https://blog.csdn.net/king_kgh/article/details/74800513
1.show variables like '%log_bin%'; //查看log_bin 是否开启
2.找到my.cnf配置
添加代码如下:
server-id=1
log_bin=ON
log_bin_basename=/var/lib/mysql/mysql-bin
log_bin_index=/var/lib/mysql/mysql-bin.index
##以上三行代码可以替换成一行代码搞定
server-id=1
log-bin=/var/lib/mysql/mysql-bin
3.重启mysql
二、备份
全量备份
1.mkdir /data/mysql_data //创建备份sql目录
2.touch sql_bak.sh //创建shell脚本
3.chmod +x sql_bak.sh //添加可执行权限
4.脚本内容
#!/bin/bash ##备份sql date=`date +%Y%m%d%H%m` filename="mysql_${date}" /usr/local/mysql/bin/mysqldump -uroot -p密码 -d 数据库名> /data/mysql_data/${filename}.sql echo "备份成功" cd /data/mysql_data tar zcPf ${filename}.tar.gz ${filename}.sql #rm -rf /data/mysql_data/${filename}.sql echo "压缩成功!"
5. ./sql_bak.sh #执行测试 注意这里会报错 5.6之后会出现这个问题 ,导致只能到处结构无法备份数据
mysqldump: [Warning] Using a password on the command line interface can be insecure.
6.修改上诉问题
方法一:修改mysql配置文件 :
1)vim /etc/my.cnf
2)
[mysqldump]
user=your_backup_user_name
password=your_backup_password
3)重启mysql
方法二、修改环境变量 (未测试,这个方法不用重启数据库,如果不方便重启数据库可以试试)
1).vim /etc/profile
2)末尾处添加:
export MYSQL_PWD=root
source一下