实验环境:centos6.6 mariaDB 10.0.10二进制安装
这里不再说明安装过程直接开始配置主从节点
节点1:172.16.30.1
[root@node1 ~]# vim /etc/mysql/my.cnf thread_concurrency = 4 datadir = /mydata/data #数据库存放目录 innodb_file_per_table = 1 ##innodb引擎单表单文件 log-bin=/mydata/binlogs/mysql-bin ##二进制文件存放目录 relay-log=/mydata/relaylogs/relay-mysql ##中继日志 server-id = 1 ##server id 用来区分每个mysql服务器 auto-increment-offset = 2 ## 自动增长的数据类型的步长 auto-increment-increment = 1 ##起始值
节点2:172.16.30.2 只有两点与上面不同
server-id = 1 auto-increment-increment = 2
两主机分别授权:只是授予了复制权限
节点1给节点2授权:
MariaDB [(none)]> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘mysql’@’172.16.30.2′ IDENTIFIED BY “112613”;
显示二进制日志单前位置
MariaDB [(none)]> SHOW MASTER STATUS; +――――――+―――-+――――�C+――――――+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +――――――+―――-+――――�C+――――――+ | mysql-bin.000006 | 536 | | | +――――――+―――-+――――�C+――――――+ 1 row in set (0.01 sec)
节点2给节点1授权:
MariaDB [(none)]> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘mysql’@’172.16.30.1′ IDENTIFIED BY “112613”;
显示二进制日志当前位置
MariaDB [(none)]> SHOW MASTER STATUS; +――――――+―――-+――――�C+――――――+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +――――――+―――-+――――�C+――――――+ | mysql-bin.000003 | 541 | | | +――――――+―――-+――――�C+――――――+ 1 row in set (0.01 sec)
节点1连接节点2:
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST=’172.16.30.2′,MASTER_USER=’mysql’,MASTER_PASSWORD=’112613′,MASTER_LOG_FILE=’mysql-bin.000003′,MASTER_LOG_POS=541; ##这里是节点2的二进制日志文件的位置
节点2连接节点1:
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST=’172.16.30.2′,MASTER_USER=’mysql’,MASTER_PASSWORD=’112613′ ,MASTER_LOG_FILE=’mysql-bin.000006′,MASTER_LOG_POS=536;##这里是节点1的二进制的日志文件 的位置
在节点1开启复制线程,并查看
在节点2开启复制线程,并查看:
现在节点1和节点2已经开始同步了
在节点1上创建数据库和表:
MariaDB [(none)]> CREATE DATABASE linux; Query OK, 1 row affected (0.07 sec) MariaDB [(none)]> USE linux; Database changed MariaDB [linux]> CREATE TABLE des(id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,year VARCHAR(30)); Query OK, 0 rows affected (0.14 sec)
在节点2查看:
MariaDB [(none)]> SHOW DATABASES; +――――――�C+ | Database | +――――――�C+ | information_schema | | linux | | mysql | | performance_schema | | test | +――――――�C+ 5 rows in set (0.01 sec) MariaDB [(none)]> USE linux; Database changed MariaDB [linux]> SHOW TABLES; +―――――�C+ | Tables_in_linux | +―――――�C+ | des | +―――――�C+ 1 row in set (0.01 sec)
已经同步过来了
在节点2创建表并插入数据
MariaDB [linux]> CREATE TABLE centos(id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,ver VARCHAR(20)); Query OK, 0 rows affected (0.17 sec) MariaDB [linux]> INSERT INTO centos (ver) VALUES(‘6.6′),(‘7.0′); Query OK, 2 rows affected (0.07 sec) Records: 2 Duplicates: 0 Warnings: 0 MariaDB [linux]> SHOW TABLES; +―――――�C+ | Tables_in_linux | +―――――�C+ | centos | | des | +―――――�C+ 2 rows in set (0.01 sec)
在节点1查看:
MariaDB [linux]> SHOW TABLES; +―――――�C+ | Tables_in_linux | +―――――�C+ | centos | | des | +―――――�C+ 2 rows in set (0.00 sec) MariaDB [linux]> SELECT * FROM centos; +―-+――+ | id | ver | +―-+――+ | 2 | 6.6 | | 4 | 7.0 | +―-+――+ 2 rows in set (0.00 sec)
已经同步过来了
这样关于mariadb的双主复制就已经可以工作了