树莓派4b,ubuntu16.0操作系统配置mysql8.0,并实现远程访问

配置流程如下:

  1. 更新系统源
  2. 下载mysql,并修改密码
  3. 修改mysql配置文件
  4. 设置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 查看监听的 mysql3306 端口允许访问IP地址

树莓派4b,ubuntu16.0操作系统配置mysql8.0,并实现远程访问_第1张图片

可以发现允许访问的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

image.png

重启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端口

树莓派4b,ubuntu16.0操作系统配置mysql8.0,并实现远程访问_第2张图片

四、设置root远程登录权限

1、修改root用户允许远程登录的ip地址

登录mysql,并切换到mysql数据库下面

select host, user, authentication_string, plugin from user;

使用上面的指令可以看到用户拥有的权限,以及允许远程登录的ip地址

image.png

在没修改权限之前,允许访问的ip是 localhost ,即只允许本地登录

update user set host='%' where user='root';

修改root用户允许远程登录的ip地址

树莓派4b,ubuntu16.0操作系统配置mysql8.0,并实现远程访问_第3张图片

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远程登录数据库
树莓派4b,ubuntu16.0操作系统配置mysql8.0,并实现远程访问_第4张图片

你可能感兴趣的:(树莓派4b,ubuntu16.0操作系统配置mysql8.0,并实现远程访问)