# ubuntu 20.04 中重裝 8.0.27-0ubuntu0.20.04.1

# 卸载

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

# 重装

sudo apt-get install mysql-server -y
sudo apt install mysql-client  -y
sudo apt install libmysqlclient-dev -y

# 验证是否安装 mysql 成功

sudo netstat -tap | grep mysql 
tcp        0      0 localhost:33060         0.0.0.0:*               LISTEN      3282/mysqld         
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN      3282/mysqld

本地连接 mysql,通常输入 mysql -uroot -p 来登录 root 账号,

但在这里,由于之前安装时候并没有设置 root 用户的密码,是无法登录的

我们需要用 sudo cat /etc/mysql/debian.cnf 来查找默认用户名密码

用 client 下面的 user 和 password 来登录 mysql -udebian-sys-maint -p

成功登录,这样我们可以来设置一个 root 密码。

mysql>use mysql;
mysql>flush privileges;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
mysql>flush privileges;

远程连接 mysql, 查看权限表

mysql> use mysql;
mysql> select host, user, authentication_string, plugin from user;

添加远程访问账号

mysql> create user 'test'@'%' identified by '你自己的mysql密码';
mysql> grant all privileges on *.* to 'test'@'%';
mysql> ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test';
mysql> flush privileges;

mysql 配置文件中把 127.0.0.1 那行注释掉

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address
#bind-address = 127.0.0.1

重启 mysql 服务

sudo service mysql restart