本文共 1810 字,大约阅读时间需要 6 分钟。
编辑 my.cnf
文件,添加以下内容:
[root@node1 ~]# vim /etc/my.cnf
[mysqld]log-bin = master_binserver_id = 1innodb_file_per_table = onskip_name_resolve = on
[root@node1 ~]# service mariadb start[root@node1 ~]# mysql -u root -p
执行以下命令验证配置:
SHOW GLOBAL VARIABLES LIKE '%log%';SHOW GLOBAL VARIABLES LIKE '%server%';
确保 server_id
为 1,二进制日志已开启。
GRANT replication-slave, replication-client ON *.* TO 'copy'@'192.168.%.%'IDENTIFIED BY 'passwd';FLUSH PRIVILEGES;
编辑 my.cnf
文件,添加以下内容:
[root@node2 ~]# vim /etc/my.cnf
[mysqld]relay_log = relay_logserver_id = 2innodb_file_per_table = onskip_name_resolve = on
[root@node2 ~]# service mariadb start[root@node2 ~]# mysql -u root -p
执行以下命令验证配置:
SHOW GLOBAL VARIABLES LIKE '%log%';SHOW GLOBAL VARIABLES LIKE '%server%';
确保 server_id
为 2,中继日志已开启。
CHANGE MASTER TO MASTER_HOST='192.168.1.107', MASTER_USER='copy', MASTER_PASSWORD='passwd', MASTER_LOG_FILE='master_bin.000003', MASTER_LOG_POS=245;START SLAVE;
如果出现以下错误:
ERROR 1201 (HY000): The slave is not connected to the master and has not started replication properly.
执行以下命令:
MariaDB [(none)]> STOP SLAVE;MariaDB [(none)]> RESET SLAVE;
然后检查网络、权限和主从关系配置是否正确。
确保从节点没有写操作:
MariaDB [(none)]> SHOW SLAVE STATUS\G;
检查 Master_Host
、Master_User
和 Master_Port
是否正确。
MariaDB [(none)]> CREATE DATABASE msdb;USE msdb;CREATE TABLE xx ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO xx (id, name) VALUES (1, 'king');
MariaDB [(none)]> SHOW DATABASES;USE msdb;SHOW TABLES;SELECT * FROM xx;
确保从节点已成功复制数据。
通过以上步骤,完成主从复制的配置及故障排查,确保数据库的高可用性和数据一致性。
转载地址:http://jxbfk.baihongyu.com/