CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户;
最近在写一个自动化部署的Shell脚本,需要通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户,
经过一番查找和实验,得到以下几个命令,给大家分享一下:
查看初始密码
有几种方法,看哪一种适合你:
1、查看mysql预定义的密码,好像是用yum安装完的用这种方式
cat /root/.mysql_secret
2、查看mysql预定义的密码,用rpm包安装完的用这种方式
grep 'temporary password' /var/log/mysqld.log
修改初始密码:
有几种方法:
1、使用mysqladmin
mysqladmin -uroot -pvyCE2UwSaqx3xofR password "123456"
2、mysql客户端登录后执行SQL语句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
还有一种:
set password=password('123456');
开启远程登录,授权远程登录用户:
grant all privileges on *.* to '用户名'@'%' identified by '密码' withg rant option;
mysql -uroot -proot -e "grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;"
注意:命令前的“mysql -uroot -proot -e ”是直接在Shell下执行SQL语句,不登录mysql客户端。
使授权立即生效:
mysql -uroot -proot -e "flush privileges;"