ubantu安装mysql (解决配置密码问题)

ubantu自带mysql,如需要安装,大多是如下代码:

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 = Z1fVrmTiZNxxw29o
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = Z1fVrmTiZNxxw29o
socket = /var/run/mysqld/mysqld.sock

密码会随即给一个很复杂的,这个时候,要进入MySQL的话,就是需要在终端把root更改为debian-sys-maint,如下代码

mysql -u debian-sys-maint -p

然后终端会提示输入密码

Enter password:

这是输入文件中的密码即可成功登陆。
当然了,这之后就可以修改密码了。

 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.cnblogs.com/lllini/p/11955196.html