一、mysql密码的修改与恢复
1.修改密码
mysqladmin -u root -p123 password 456
数据库内修改
method.first:
update mysql.user set password=password('123') where user='root' and host='localhost';
flush privileges;
method.second:
set password for root@'localhost' =password('123');
注: 此方法无序刷新权限
method.third:
mysql_secure_installation
注: 安全配置向导,会对数据库进行简单的优化
二、忘记mysql密码后的恢复
1.跳过mysql安全验证,直接mysql无密码登录,然后进入修改密码
1. 设置环境变量强制linux不记录敏感历史命令
临时生效(命令行操作):HISTCONTROL=ignorespace 然后[ root@ 001 ~] # mysql -uboy -pboy123
永久生效:
echo ' HISTCONTROL=inorespace ' >>/etc/bashrc 然后source生效
2. 通过history删除命令行记录
清空所有记录 history -c
删除指定行记录 history -d 行号
清空历史记录文件 >~/.bash_history
3.把密码写入my.cnf 配置文件的 [ mysqld ] 下添加 skip-grant-tables 重启数据库生效
四、数据库的备份与恢复
1、单库备份与还原
2.多库备份与还原
3.全库备份
4.还原备份
(2)、method.second:
通过二进制日志备份和恢复
1.备份二进制日志
cp /var/lib/mysql/mysql-bin.* /home/backup/
2.恢复
查看二进制日志
mysqlbinlog /var/lib/mysql/mysql-bin.000001
恢复
从日志文件mysql-bin.000004的位置1379恢复到1966
mysqlbinlog mysql-bin.000004 --start-position=1379 --stop-position=1966 | mysql -uroot
从日志文件mysql-bin.000004的日期2019-09-27 15:08:49 恢复到2019-09-27 15:09:06
mysqlbinlog mysql-bin.000004 --start-datetime="2019-09-27 15:08:49" --stop-datetime="2019-09-27 15:09:06" | mysql -uroot
更多操作详情参考如下:
https://github.com/crazywjj/bawei