我在Ubuntu16.04版本中使用终端安装MysqL5.7时,按照度娘的教程,搜索如何安装,大多是如下代码:
sudo apt-get install MysqL-server
sudo apt-get install MysqL-client
检查MysqL是否运行:
sudo netstat -tap | grep MysqL
tcp 0 0 localhost:MysqL *:* LISTEN 18475/MysqLd
PS:重启/打开/关闭MysqL的方法是:sudo service MysqL restart/start/stop
就这两个命令就安装好了,可是我在安装过程中并没有出现要我写用户名和密码的地方,我一脸懵逼,
完成后在终端输入MysqL -u root -p之后,要求我输入密码,可是我并不知道密码,随便输入之后,
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
百度了三五个小时,解决方案五花八门,我最后使用有效的方法是:
打开一个文件
sudo vim /etc/MysqL/debian.cnf
在这个文件里面有着MysqL默认的用户名和用户密码,
最最重要的是:用户名默认的不是root,而是debian-sys-maint,如下所示
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = hGu99nJgoWcmCDKT
socket = /var/run/MysqLd/MysqLd.sock
[MysqL_upgrade]
host = localhost
user = debian-sys-maint
password = hGu99nJgoWcmCDKT
socket = /var/run/MysqLd/MysqLd.sock
basedir = /usr
密码会随即给一个很复杂的,这个时候,要进入MysqL的话,就是需要在终端把root更改为debian-sys-maint,如下代码
MysqL -u debian-sys-maint -p
1
然后终端会提示你输入密码
Enter password:
1
这是输入文件中的密码即可成功登陆。
当然了,这之后就要修改密码了,毕竟密码太难记。
经过度娘的指导,我所安装的版本是5.7,所以password字段已经被删除,取而代之的是authentication_string字段,所以要更改密码:
MysqL> update MysqL.user set authentication_string=password('password') where user='root'and Host = 'localhost';
如果显示:
Query OK,1 row affected,1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
则代表成功修改,之后需要*重启**MysqL,方可登录成功。
顺便说一下删除MysqL的方法,省的之后再找度娘。
代码如下:
sudo apt-get autoremove --purge MysqL-server-5.7
sudo apt-get remove MysqL-server
sudo apt-get autoremove MysqL-server
sudo apt-get remove MysqL-common
上面的可能会有些是多余的,之后需要清理残余数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
原文链接:https://www.f2er.com/ubuntu/351803.html