注:主库正常黑体字 从库字淬红
1. 在主库上开启二进制日志记录功能
vim /etc/my.cnf [mysqld]下输入
log-bin=mysql-bin
server-id=1
2.在从库服务器上配置my.cnf配置文件,增加:
log-bin=mysql-bin
server-id=2
3. 在主库上创建一个用于从库访问的备份用户
在主库上创建一个用于从库访问的备份用户
mysql> CREATE USER 'qaz'@'%' IDENTIFIED BY '123.qaZ//';
Query OK, 0 rows affected (0.00 sec)
并授予其 `REPLICATION SLAVE` 权限
mysql> GRANT REPLICATION SLAVE ON *.* TO 'qaz'@'%';
Query OK, 0 rows affected (0.00 sec)
4.在主库上获取二进制日志文件和位置信息
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 593 | | | |
+------------------+----------+--------------+------------------+-------------------+
6.先查看所有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
7.查看IP
8. 在从库上添加主库信息
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.130', MASTER_USER='qaz', MASTER_PASSWORD='123.qaZ//', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=593;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
CHANGE MASTER TO
MASTER_HOST='主库地址',
MASTER_USER='用户名',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='当前的二进制日志文件名',
MASTER_LOG_POS=当前的二进制日志位置;
请注意,MASTER_HOST应该是主服务器的IP地址或主机名,MASTER_USER和MASTER_PASSWORD应该是主服务器的用户名和密码。MASTER_LOG_FILE和MASTER_LOG_POS应该是主服务器当前二进制日志文件的名称和位置。如果您的主服务器上有多个二进制日志文件,则应该使用最新的二进制日志文件。
9.启动从库的复制进程
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
10.执行以下命令可查看主从复制状态:
SHOW SLAVE STATUS\G;
在输出结果中,可以查看到是否连接到主库、当前正在复制的二进制日志文件名和位置、复制延迟等信息。
11.从查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
12.主创建数据库
mysql> create database asdf;
Query OK, 1 row affected (0.00 sec)
查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| asdf |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
13.从查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| asdf |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
在 Linux MySQL 主从复制配置完成后,可以通过以下几种方式进行验证: 1. 查看主从服务器状态:在主服务器上执行命令 `SHOW MASTER STATUS;`,在从服务器上执行命令 `SHOW SLAVE STATUS\G;`,查看输出结果是否正常。 2. 在主服务器上创建一个数据库或者表,然后在从服务器上查看是否同步成功。 3. 在主服务器上进行数据修改,然后在从服务器上查看是否同步成功。 4. 在主服务器上停止 MySQL 服务,然后在从服务器上查看是否自动切换为主服务器。 5. 在主服务器上进行数据备份,然后在从服务器上进行数据恢复,查看是否恢复成功。 以上是常用的验证方式,可以根据实际情况选择适合自己的方式进行验证。
可能出现的问题及解决:
mysql> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
mysql> reset slave;
Query OK, 0 rows affected (0.10 sec)
mysql> start slave;
Query OK, 0 rows affected (0.10 sec)