欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库

从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库

2025/4/19 18:13:14 来源:https://blog.csdn.net/qq_45817631/article/details/147311920  浏览:    关键词:从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库

从零开始:Ubuntu 20.04 系统安装 MySQL 8、服务器配置 MySQL 主从复制、本地 Navicat 远程连接服务器数据库

    • 初始化服务器
      • 1. 更新本地软件包列表
      • 2. 安装 MySQL 服务器
      • 3. 查看 MySQL 安装版本
      • 4. 登录 MySQL 管理终端
      • 5. 设置 root 用户密码(推荐使用 native password 认证(可选,根据自己情况来定))
      • 6. 修改 root 用户访问权限(允许远程登录)(一方面也是为了本地连接服务器)
      • 7. 修改 MySQL 配置文件,允许远程访问(一方面也是为了本地连接服务器)
      • 8. 重启 MySQL 服务(让修改的配置生效)
      • 9. 防火墙相关配置
  • 特大注意(一定要在你租的服务器的安全组里增加一条端口3306的访问规则,不然连接就会出现下面错误)
  • 配置主服务器mysql
  • 配置从服务器mysql
  • navicate远程连接服务器mysql
  • 如果你配置过程中出现什么问题,欢迎评论区讨论。

本文将介绍如何在 Ubuntu 20.04 系统中安装 MySQL 8,并配置 MySQL 主从复制。适用于自建数据库服务、开发环境数据同步测试等场景,同时支持通过 Navicat 等工具远程连接服务器数据库。


初始化服务器

1. 更新本地软件包列表

sudo apt update

2. 安装 MySQL 服务器

sudo apt install mysql-server

3. 查看 MySQL 安装版本

mysql --version

输出示例:

mysql  Ver 8.0.41-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

4. 登录 MySQL 管理终端

sudo mysql

5. 设置 root 用户密码(推荐使用 native password 认证(可选,根据自己情况来定))

这里修改了认证规则为:mysql_native_password
mysql8默认是加密方式是:caching_sha2_password (更安全)
只要你的远程连接方式支持chching_sha2_password加密规则,可以不用修改为native password加密规则。

alter user 'root'@'localhost' identified with mysql_native_password by '123456';

6. 修改 root 用户访问权限(允许远程登录)(一方面也是为了本地连接服务器)

---选择数据库
use mysql;---查询root的访问权限
select user, host from user where user='root';
---更新root的访问权限, '%'表示全部IP都可以访问
---'localhost' 表示只有本地可以访问
update user set host = '%' where user = 'root';---刷新用户权限
flush privileges;

7. 修改 MySQL 配置文件,允许远程访问(一方面也是为了本地连接服务器)

自mysql8版本中,mysql的配置文件被放在了 /etc/mysql/mysql.conf.d/mysqld.conf 文件中

sudo vim /etc/mysql/mysql.conf.d/mysqld.conf

找到bind-address, 修改为:

bind-address = 0.0.0.0

8. 重启 MySQL 服务(让修改的配置生效)

sudo systemctl restart mysql
或
sudo service mysql restart

9. 防火墙相关配置

建议先关闭防火墙,如果有需要可以自行搜索设置防火墙开放端口。
注意:打开防火墙记得一定要先开放个端口,不然你ssh就登不进去了,还得去服务器平台远程连接开启。

查看防火墙状态:sudo ufw status
关闭防火墙:sudo ufw disable
开启防火墙:sudo ufw enable

检查端口监听情况

sudo ss -ltn

特大注意(一定要在你租的服务器的安全组里增加一条端口3306的访问规则,不然连接就会出现下面错误)

错误

配置主服务器mysql

# 新增用户赋权,并设置远程访问,当然你也可以直接使用root
create user 'repl'@'%' identified with mysql_native_password by '123456';# 授权
grant all privileges on *.* to 'repl'@'%' with grant option;# 刷新权限
flush privileges;# 查看主服务器状态
show master
---下面是输出例子:
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000009 |      157 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
---这里file是日志文件,从这个日志文件的第position位置开始备份
---后面要写到 从数据库 中配置# 修改主服务器 MySQL 配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.conf# 添加/修改以下配置
[mysqld]
server-id = 1                   # 主服务器唯一ID(必须与从服务器不同)# 重启MySQL服务
sudo systemctl restart mysql

配置从服务器mysql

# 修改从服务器 MySQL 配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.conf# 添加/修改以下配置
[mysqld]
server-id = 2                   # 从服务器唯一ID(必须与主服务器不同)# 重启MySQL服务
sudo systemctl restart mysql# 进入mysql
sudo mysql -u root -p123456# 配置 从服务器所要备份的主服务器信息(在mysql命令行中)
change master to
master_host = '123.123.123.123', # 填写你的主服务器ip
master_user = 'repl', # 自己创建的用户(授权的)或者root(授权的)
master_password = '123456', # 主服务器上面用户mysql连接密码
master_log_file = 'binlog.000009', # 主服务器的状态中的 file, 主服务器show master status输出的
master_log_pos = 157; # 主服务器的状态中的position# 开启从服务器
start slave;# 查看状态
show slave status\G; # \G表示格式化输出# 如果输出中下面这两个属性值是Yes,即成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

navicate远程连接服务器mysql

在这里插入图片描述

如果你配置过程中出现什么问题,欢迎评论区讨论。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词