mysql 执行show databases没有mysql库


在网上查了一下相关的案例,发现与权限表mysql.user表有关

解决方法:
关闭数据库
service mysqld stop

以跳过权限认证方式启动mysql
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &

删除mysql.user表中host名为'localhost'的记录
mysql> use mysql
mysql> delete from user where host='localhost';
Query OK, 7 rows affected (0.00 sec)

mysql> INSERT INTO `user` VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y', '','','','',0,0,0,0);
Query OK, 1 row affected (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

再次重启数据库后,正常
service mysqld restart 

mysqld_safe --defaults-file=/etc/my.cnf &

更改root密码
mysqladmin -u root -proot password 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM