该文章参考https://www.cnblogs.com/cpl9412290130/p/9583868.html
问题概述
我的系统是Ubuntu18.04,刚刚装好系统,就去装php的环境,安装到mysql的时候没让我设置密码,密码应该是为空的,可是无论如何也进不去,无奈之下,百度了一下解决方法,问题已解决
解决方法
打开Ubuntu的终端输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables,加入这区话可以让你不用密码登录mysql,保存后退出,
然后输入sudo service mysql start
然后就可以输入mysql -uroot -p
到输入密码的环节时候直接回车就好了
进入了mysql的管理终端了后,输入use mysql;
注意:别忘记这最后的一个分号,很重要,我吃了很多次亏
后面输入update user set authentication_string=password("你的密码") where user="root"; 然后敲回车,flush privileges; 然后敲回车
最后再去吧刚才加进去的那串代码删了重启mysql服务就好了,
如果还是报错,请看下面:
继续把刚才删掉的那串代码重新加上去,重新登录进去,输入use mysql;
后再输入select user,plugin from user;
注意看root这一列,如果有下是出现下列这种情况就继续看下去,否则就没办法了
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| phpmyadmin | mysql_native_password |
+------------------+-----------------------+
5 rows in set (0.00 sec)
接着输入update user set authentication_string=password('密码'),plugin='mysql_native_password' where user='root';
后,再次输入select user,plugin from user;
注意看root这一列,后如果出现下列情况就成功了
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | mysql_native_password |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| phpmyadmin | mysql_native_password |
+------------------+-----------------------+
5 rows in set (0.00 sec)
后再次输入flush privileges;
出现下列一句退出就成功了,现在再去把刚才那串代码注释了,重启mysql服务器就好了
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)