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

本文将介绍如何在 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

在这里插入图片描述

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

### 准备工作 为了在Ubuntu 20.04离线环境中成功安装MySQL 8,需提前准备好所有必要的软件包并确保这些文件可以被顺利传输到目标机器上。这包括但不限于MySQL服务器及其依赖项。 ### 下载MySQL 8离线安装包 从官方或其他可信资源获取适用于Ubuntu 20.04MySQL 8离线安装包`mysql-server_8.0.29-1ubuntu20.04_amd64.deb-bundle.tar`[^2]。此压缩包内含多个`.deb`格式的二进制文件,用于完成整个数据库系统的部署。 ### 解压安装包 使用终端命令解压已下载的tarball文件: ```bash sudo tar -xvf mysql-server_8.0.29-1ubuntu20.04_amd64.deb-bundle.tar ``` 上述操作会释放一系列Debian软件包至当前目录下[^4]。 ### 安装前准备 确认系统已经更新并且具备网络连接能力以便于首次配置期间可能需要在线验证密钥或其它组件;对于完全断网的情况,则应事先手动解决任何潜在依赖关系问题。 ### 手动处理依赖关系 由于是离线环境,在执行下一步之前应该先检查是否有未满足的依赖条件,并尝试通过预先下载相应库来解决问题。特别是注意那些与操作系统版本紧密关联的基础运行时支持库[^3]。 ### 开始安装过程 按照一定顺序依次安装各个分离出来的.deb文件,通常建议遵循如下原则:首先是客户端工具、其次是核心服务端程序以及其余辅助功能模块。具体可参照以下示例指令集(实际路径取决于个人存放位置): ```bash sudo dpkg -i *.deb ``` 这条命令将会遍历当前文件夹下的所有.deb结尾的文件并逐一进行安装。如果遇到错误提示关于某些特定包无法解析其依赖性,请单独针对该部分采取措施直至全部顺利完成为止[^1]。 ### 配置初始化设置 一旦所有必需的服务都已经被正确加载入系统之后,就可以启动mysqld进程并通过安全脚本进一步定制化实例参数了: ```bash sudo service mysql start sudo mysql_secure_installation ``` 以上步骤能够帮助建立初始root账户密码和其他基本的安全选项设定[^5]。 ### 测试新安装的服务状态 最后一步是要验证MySQL是否正常运作,可以通过登录控制台来进行简单测试: ```sql mysql -u root -p ``` 输入刚才设立好的管理员口令后即进入交互界面,此时便证明此次离线安装流程圆满结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值