朋友的CentOS服务器,帮忙迁移个数据库,结果解压后重启MySQL发现没有root密码无法给对应的数据库添加账户,经过查找尝试,整理方法如下,可以在安全模式下,执行数据库命令添加账户或修改root密码,指令如下:
/etc/rc.d/init.d/mysql stop
/usr/bin/mysql_safe --user=mysql --skip-grant-tables &
#/usr/bin/mysql_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root
insert into mysql.user (host,user,password) values ('localhost','用户名',password('密码'));
INSERT INTO `mysql`.`db` (`Host`, `Db`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Execute_priv`, `Event_priv`, `Trigger_priv`) VALUES ('localhost', '目标数据库', '用户名', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
flush privileges;
quit;
ps aux
kill mysqlpid
/etc/rc.d/init.d/mysql start
上面的指令是添加一个账户并给其全部权限到目标数据库。
修改root密码的指令如下:
update mysql.user set password=password("新密码") where user="root";
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。