第一步,安装mysql
sudo apt install mysql-server
第二步,切换root身份(如果本身就是root用户可以忽略这步)
sudo su root
第三步,登录mysql
mysql
3.1 查询用户表
use mysql;
select Host, User, plugin, authentication_string from user;
3.2 讲解
Host:数据库访问方式,localhost表示只能本地访问,%表示可以任意地址访问。
User:登录数据库的用户名。
plugin:密码加密方式。
authentication_string:加密后的密码。
可以看到,root的plugin是auth_socket,可以简单理解为只允许本地的linux root用户,就是User同名用户,所以在最开始的时候需要将用户切换为root,不是因为root有超级管理员权限!
第四步,允许用户远程访问
root不动了,只允许本地root用户登录挺好的。
Ubuntu在安装mysql时提供了一个debian-sys-maint用户,权限基本和root相同,我们使用这个用户就行。这个用户默认的Host是localhost,需要手动改成%
ALTER USER 'debian-sys-maint'@'%' IDENTIFIED WITH caching_sha2_password BY '123456';
123456是新密码。
这里要说明一下,本来系统是给debian-sys-maint用户提供了默认密码的,不知道我为什么不好使。如果想查看系统提供的默认密码,可以使用如下指令:
sudo nano /etc/mysql/debian.cnf
password就是密码。
第五步,配置mysql允许外部访问
编辑文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address = 127.0.0.1,改成 bind-address = 0.0.0.0
第六步,重启mysql服务
sudo systemctl restart mysql