sudo apt-get install mysql
安装时,并没有提示输入密码,则密码没有初始化,使用root用户登录自然失败.:~$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
下面是解决问题的方法。
1.使用cat命令查看默认用户名密码。
sudo cat /etc/mysql/debian.cnf
展示出来的内容:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = HwPMmIAFg1GNU0OH
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = HwPMmIAFg1GNU0OH
socket = /var/run/mysqld/mysqld.sock
2.使用默认用户名密码登录
mysql -udebian-sys-maint -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
……
mysql>
登录成功。 3.修改PLUGIN设置(出现这个问题的原因就在这)
UPDATE mysql.user SET authentication_string=PASSWORD('root'), PLUGIN='mysql_native_password' WHERE USER='root';
设置完成。 4.重启服务
/etc/init.d/mysql stop
/etc/init.d/mysql start
5.登录
mysql -uroot -p
此时就可以成功登陆了。
有时候mysql经常会出现一些稀奇古怪的问题,很多情况为了节省时间都是选择重装,附上重装过程。
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo apt-get update
sudo apt-get install mysql-server
完成操作。
感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!
微信公众号:进击的程序狗 邮箱:roobtyan@outlook.com 个人博客:http://roobtyan.cn