Mysql 双主部署
1.下载安装包
mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
2.安装环境
两个节点互为主备
节点1 :10.87.134.74
节点1 :10.87.134.75
3.安装过程
1.卸载 mariadb
rpm -qa mariadb
rpm -e -nodeps 上一个命令查询的maria安装包名称
2.安装
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

在两台机器上分别执行以下命令
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
安装后启动进程 systemctl start mysqld
3.修改配置
编辑节点1的 /etc/my.cnf
[mysqld]datadir=/var/lib/mysqluser=mysqlport = 3306socket= /var/lib/mysql/mysql.socklog-bin=mysql-bingtid-mode=onenforce-gtid-consistency=truemaster-info-repository=TABLErelay-log-info-repository=TABLEsync-master-info=1slave-parallel-workers=2binlog-checksum=CRC32master-verify-checksum=1slave-sql-verify-checksum=1binlog-rows-query-log_events=1report-port=3306report-host=10.87.134.74#replicate-same-server-id #主要用于同时写的情况server_id = 1 #从写 server_id = 2log-slave-updatesslave-skip-errors=allauto_increment_increment=2auto_increment_offset=1 |
编辑节点2的 /etc/my.cnf
[mysqld]datadir=/var/lib/mysqluser=mysqlport = 3306socket= /var/lib/mysql/mysql.socklog-bin=mysql-bingtid-mode=onenforce-gtid-consistency=truemaster-info-repository=TABLErelay-log-info-repository=TABLEsync-master-info=1slave-parallel-workers=2binlog-checksum=CRC32master-verify-checksum=1slave-sql-verify-checksum=1binlog-rows-query-log_events=1report-port=3306report-host=10.87.134.75#replicate-same-server-id #主要用于同时写的情况server_id =2log-slave-updatesslave-skip-errors=allauto_increment_increment=2auto_increment_offset=2 |
4.修改root密码,创建复制用户
修改my.cnf 增加配置 skip_grant_tables
重启mysql服务
systemctl reatart mysqld
免密码登录 mysql控制台
mysql -uroot -p
修改用户密码
update user set authentication_string=password('Root_2019') where user='root' ;
修改后,注释skip_grant_tables ,重启服务,使用新的密码登录。
在两个节点创建复制用户:
create user 'repl'@'%' identified by 'Repl_2019';
在节点1执行
grant replication slave on *.* to 'repl'@'10.87.134.75' identified by 'Repl_2019';
在节点2执行
grant replication slave on *.* to 'repl'@'10.87.134.74' identified by 'Repl_2019';
5.配置主从复制
在节点1执行命令
show master status\G;
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000002
Position: 1565
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: 5000e310-a711-11e9-918f-a2da0b499cdb:1-4
1 row in set (0.00 sec)
在节点2执行命令
show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000005
Position: 1585
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: 3cbb0ab6-a714-11e9-aaf1-92570cfa00a8:1-7,
5000e310-a711-11e9-918f-a2da0b499cdb:5-7
1 row in set (0.00 sec)
在节点1执行命令:
change master to master_host='10.87.134.75',master_user='repl',
master_password='Repl_2019',master_log_file='mysql-bin.000005',
master_log_pos=1585;
start slave;
在节点2执行命令
change master to master_host='10.87.134.74',master_user='repl',
master_password='Repl_2019',master_log_file='mysql-bin.000002',
master_log_pos=1565;
start slave;
在两台机器上分别执行命令
show slave status\G;

查看两边的Slave_IO_Running和Slave_SQL_Running的状态值,都为yes则配置完成。
我们可以在节点1创建一个数据库
create database demo1;
在节点2查询数据库demo1 被自动创建。

浙公网安备 33010602011771号