centos数据库mysql再次登录不用输入密码及不显示已创建的数据库问题解决
在centos下搭建mysql数据库一切正常而重启服务器后登录mysql数据库出现了如下的问题
当输入mysql -u root -p 回车,输入已设置的密码时直接提示密码错误,而直接以密码为空时回车却能直接进入mysql数据库。这很容易给人以不安全的感觉,然而即便登录了数据库,在执行show databases;时你会发现之前创建的数据库没了,假设之前创建的数据库名称为test,若直接use test;选择自己创建的数据库时则出现如下的报错。
mysql>use test; mysql>ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'test'
经上网查是因为默认的mysql数据库存在一个空用户,将其删除即可解决问题。
mysql> delete from mysql.user where user='';
不过执行此语句时又报1142错误:
mysql> ERROR 1142 (42000): DELETE command denied to user ''@'localhost' for table 'user'
该问题是因为root没有select权限引起的。
解决,赋予root权限。
停止MySQL服务
service mysqld stop
加参数启动mysql
/usr/bin/mysqld_safe --skip-grant-tables &
接下来就可以正常访问了
然后
mysql> use mysql;
删除空用户
mysql> delete from user where user = '';
最后刷新权限表
mysql> flush privileges;
重启数据库解决mysql再次登录不用输入密码及不显示已创建的数据库的问题。
service mysqld restart
IT技术资料分享-个人整理自互联网
https://www.lmdouble.com/0010112059.html
上一篇: 网站重定向中301与302有什么区别? | 下一篇: nginx下wordpress开启全站https出现所有栏目页为404问题的解决方法 |