今天在昨天基础上进入mysql又出错
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了今天在昨天基础上进入mysql又出错,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4613字,纯文字阅读大概需要7分钟。
内容图文
![今天在昨天基础上进入mysql又出错](/upload/InfoBanner/zyjiaocheng/1328/61f9d7a4e36d42689d027a4377645db4.jpg)
今天早上开机进入mysql就出问题了
# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) # mysql mysql> use mysql #不能用mysql ERROR 1044 (42000): Access denied for user ‘root‘@‘%‘ to database ‘mysql‘ mysql> use test #能用test Database changed mysql> SELECT user,host,password FROM user; ERROR 1044 (42000): Access denied for user ‘root‘@‘%‘ to database ‘mysql‘
好吧,退出,关闭mysql,使用安全模式
# service mysqld stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> use mysql Database changed mysql> SELECT user,host,password FROM user; +-------------+----------------+-------------------------------------------+ | user | host | password | +-------------+----------------+-------------------------------------------+ | root | % | | | root | www.crwolf.com | *DF216F57F1F2066124E1AA5491D995C3CB57E4C2 | +-------------+----------------+-------------------------------------------+
那我之前的用户去哪了?
有主机:127.0.0.1,用户:root,密码为空
主机:::1,用户:root,密码为空
主机:localhost,用户为空,密码为空
这三个怎么给我自动删除了?
就像之前http24调用mysql的时候一样,我的root用户,welcome密码自动没了。
唉,删除匿名用户吧。这mysql怎么这么变幻无常呢。
mysql> drop user ‘root‘@‘%‘; #错误又来了 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> drop user ‘root‘@‘%‘; #好了 Query OK, 0 rows affected (0.00 sec) mysql> SELECT user,host,password FROM user; +-------------+----------------+-------------------------------------------+ | user | host | password | +-------------+----------------+-------------------------------------------+ | root | www.crwolf.com | *DF216F57F1F2066124E1AA5491D995C3CB57E4C2 | +-------------+----------------+-------------------------------------------+ mysql> \q Bye
问题还没解决
# service mysqld start Starting MySQL [确定] # mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
再用一次安全模式
# service mysqld stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> delete from user where USER=‘‘; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> \q Bye # service mysqld start Starting MySQL [确定] # mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) # mysqladmin -uroot -p password ‘welcome‘ #改密码都不能改,要哭了 Enter password: mysqladmin: connect to server at ‘localhost‘ failed error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘
解决了,找了个高手帮忙
还是要进入安全模式
# service mysqld stop # mysqld_safe --user=mysql --skip-grant-table --skip-networking &
这边就先不动了,再新开一个终端
# mysql -uroot -pmysql mysql> use mysql Database changed
因为之前登录mysql出错时不是总显示
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
既然你显示,那就创建一个root用户,主机为localhost,密码为welcome
mysql> insert user(host,user,password) VALUES (‘localhost‘,‘root‘,PASSWORD(‘welcome‘)); Query OK, 1 row affected, 3 warnings (0.00 sec) #我这创建成功了 mysql> select user,host,password FROM user; +-------------+----------------+-------------------------------------------+ | user | host | password | +-------------+----------------+-------------------------------------------+ | root | | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | root | localhost | *DF216F57F1F2066124E1AA5491D995C3CB57E4C2 | +-------------+----------------+-------------------------------------------+
如果这里显示错误的话
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
执行一下flush privileges,然后再创建
mysql> flush privileges;
然后再授权,一定要授权
mysql> GRANT all privileges ON *.* TO ‘root‘@‘localhost‘; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
可以退出了
回到之前的终端
# service mysqld start # mysql -uroot -pwelcome Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.36-log Source distribution Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql>
问题解决,我决定以后在mysql里面执行任何命令以后,都执行一下flush privileges这个命令,免得出错。反正每次执行命令后按两下向上的箭头,命令就出来了,也不耽误时间,还能避免出错。
本文出自 “三哥” 博客,请务必保留此出处http://523958392.blog.51cto.com/9871195/1630639
原文:http://523958392.blog.51cto.com/9871195/1630639
内容总结
以上是互联网集市为您收集整理的今天在昨天基础上进入mysql又出错全部内容,希望文章能够帮你解决今天在昨天基础上进入mysql又出错所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。