一、设置修改mysql root 用户密码
1.命令行的方式修改密码 最常使用
mysqladmin -uroot -p'原始密码' password 'NEW PASSWD';
2.SQL语句修改密码 注:此方法适合密码丢失,mysql无校验方法启动修改
update mysql.user SET password=password('明文密码') where user=root host='localhost' ;
3.mysql中用SET password 命令修改
set password=passwrod('新密码’) where user='root' and host='localhost' ;
新数据库安全的做法是删除原有用户,手动指定新用户
delete from mysql.user; grant all privileges on *.* ro root@'local' identified by 'PASSWD' whit grant option; flush privileges ;
二、优雅关闭数据库的方法
1 mysqladmin 命令 mysqladmin -uroot -p'passwd' shutdown 2 自带脚本 /etc/init.d/mysqld stop 3 强制关闭 (生产数据库有风险,一般不用) 选择由上到下 pkill mysqld killall mysqld killall -9 mysqld
三、mysql密码找回(实战)
单实例
1.停止mysql
/etc/init.d/mysqld stop
2.使用--skip-grant-tables 忽略授权表启动mysql
mysql_safe --skip-grant-tables -user=mysql &
3.直接登录并修改密码
#mysql mysql>update mysql.user SET password=password('新密码') where user=root and host='localhost';
mysql>flush privileges; mysql>quit
4.重启启动mysql,此时无法用init.d/mysqld stop
mysqladmin -uroot -p'新密码' shoutdown
/etc/init.d/mysqld start
mysql -uroot -p'新密码'
--完成
***************** 二进制安装的mysql可能会忽略启动不成功
mysqld_safe Logging to '/****/mysql'
如果mysql忽略授权启动不成功,查看mysqld_safe的mysql所在路径是否正确,可以按如下操作
做备份
sed -i 's#报错路径#实际安装路径l#g' /实际安装路径/bin/mysqld_safe
*****************
多实例忘记密码找回
1.停止mysqld 选择从上到下,存在风险
pkill mysqld killall mysqld killall -9 mysqld
2.忽略授权启动mysql
mysql_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables &
3.登录mysql,并修改密码
mysql -S /SOCKPATH/mysql.sock
update mysql.user SET password=password('新密码') where user=root host='localhost';
flush privileges;
quit
4.重启登录
mysqladmin -uroot -p'新密码' shoutdown -S /data/3306/mysql.sock
mysql -uroot -p -S /data/3306/mysql.sock
--完成
history 历史记录 会记录下mysql登录时的用户和密码
/root/.bash_history 会记录命令行的操作 及时使用history -c 清空命令历史,文件中也会记录
/root/.mysql_histosry 会记录mysql命令行的操作
将HISTCONTROL=ignorespace 定义在/etc/profile中,以后命令行中第一个为空格将不再记入历史
source /etc/frofile 生效
浙公网安备 33010602011771号