配置流程如下:
- 更新系统源
- 下载mysql,并修改密码
- 修改mysql配置文件
- 设置root远程登录权限
一、更新系统源
sudo apt-get update; // 更新源的sources.list文件
sudo apt-get upgrade; // 下载需要更新的源
二、下载mysql,并修改密码
1、安装mysql
sudo apt-get install mysql-server
2、登录mysql
sudo mysql -u root -p // 第一次的密码为登录系统的密码
3、修改密码
在使用mysql的时候需要特别注意mysql的版本,因为不同版本的mysql,它的一些指令是不一样的
use mysql; // 切换到mysql数据库,因为用户信息是保存在mysql数据库里面的
ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'; // 改变root的密码
flush privileges; // 刷新
exit; // 退出mysql
三、修改mysql配置文件
在修改配置文件之前可以输入 netstat -aptn
查看监听的 mysql
的 3306
端口允许访问IP地址
可以发现允许访问的ip地址为 127.0.0.1
,即只允许本地访问。
修改mysql配置文件
mysql配置文件位置: /etc/mysql/mysql.conf.d/mysqld.cnf
不同版本的mysql的配置文件可能不同,但都会在 etc/mysql 这个文件夹下面
将mysqld.cnf文件里面的 bind-address
修改为 0.0.0.0
重启mysql,使其重新加载配置文件
sudo service mysql start // 启动mysql
sudo service mysql stop // 停止mysql
sudo service mysql restart // 重启mysql
重新启动mysql之后,再次使用 netstat -aptn
发现原来3306
端口允许访问的ip地址变成了0.0.0.0
,即允许所有ip地址访问3306端口
四、设置root远程登录权限
1、修改root用户允许远程登录的ip地址
登录mysql,并切换到mysql数据库下面
select host, user, authentication_string, plugin from user;
使用上面的指令可以看到用户拥有的权限,以及允许远程登录的ip地址
在没修改权限之前,允许访问的ip是 localhost
,即只允许本地登录
update user set host='%' where user='root';
修改root用户允许远程登录的ip地址
2、增加使用navicate远程登录的加密规则
在mysql 8.0 之后,mysql登录的加密规则已经变成了 caching_sha2_password
,但是使用navicate远程登录时,使用的是mysql 8.0之前的加密规则 mysql_native_password
,所以需要在mysql再增加一个旧版的加密规则。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
最后使用navicate远程登录数据库