当前位置: 首页 > news >正文

从零开始 保姆级教程 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

在这里插入图片描述

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

相关文章:

  • 乘用车制动系统设计:保障行车安全的核心技术
  • vue2 element-ui 中 el-radio 单选框点击事件失效问题
  • 士兵乱斗(贪心)
  • 大数吞小数
  • SDL基础
  • MCP理解笔记及deepseek使用MCP案例介绍
  • 探索鸡养殖虚拟仿真实验:科技赋能养殖新体验
  • 重工业数字化转型
  • TAS启动与卸载
  • 单片机 | 基于51单片机的倾角测量系统设计
  • Flow 笔记
  • 什么是cnas认证?认证cnas证书有什么好处?
  • 《基于神经网络实现手写数字分类》
  • 用最简单的方式了解单例模式
  • PDF多功能转换编辑及扫描仪 iLovePDF 3.10.0
  • 【verilog】多个 if 控制同一个变量 是否不是标准的语言规范,标准的语言规范应该如何写?
  • 在时间的缝隙里雕刻故事:龙臻的影像语言与全球认可
  • opencv图片颜色识别
  • 【linux模块化编译驱动Makefile异常引发的惨案】
  • 方案精读:华为数字化转型实践案例合集【附全文阅读】
  • 中拉互联网发展与合作论坛在西安开幕
  • 巴基斯坦与印度停火延长至18日
  • 伊朗最高领袖顾问:伊朗愿承诺永不制造核武,换取美解除制裁
  • 上海静安将发放七轮文旅消费券,住宿券最高满800元减250元
  • 回望星河深处,唤醒文物记忆——读《发现武王墩》
  • 互降关税后,从中国至美国的集装箱运输预订量飙升近300%