分享

Mysql双主配置 GTID...

 pcnewage 2022-06-28 发布于江苏

1. 安装mysql

1.1.解压安装mysql

#tar zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
#mv mysql-5.7.32-linux-glibc2.12-x86_64 /forp/mysql-5.7.32
#chown -R forp1:root /forp/mysql-5.7.32

1.2.创建相关目录

下面所有操作切换至普通用户forp1下执行
su – forp1
$ mkdir /forp/mysql-5.7.32/data
$ mkdir /forp/mysql-5.7.32/conf
$ mkdir /forp/mysql-5.7.32/logs
$ mkdir /forp/mysql-5.7.32/temp

1.3.创建配置文件

cat /forp/mysql-5.7.32/conf/mysql.conf

[mysqld]
port=3306
socket=/forp/mysql-5.7.32/temp/mysql.sock
user=forp1
datadir=/forp/mysql-5.7.32/data
default-time_zone='+8:00'
log-output=FILE
log-error=/forp/mysql-5.7.32/logs/error.log
long_query_time=8
slow_query_log=1
slow_query_log_file =/forp/mysql-5.7.32/logs/slow.log
general_log=0 
general_log_file=/forp/mysql-5.7.32/logs/general.log
back_log=900
sync_binlog=1
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
interactive_timeout=30000000 
wait_timeout=30000000
lower_case_table_names=1
max_connections=1000
max_connect_errors=5000
#slave-skip-errors = all

1.4.生成密码

$./mysqld --initialize --datadir=/forp/mysql-5.7.32/data
  A temporary password is generated for root@localhost: speQ2;ILfUB7

1.5.启动服务

$./mysqld_safe --defaults-file=/forp/mysql-5.7.32/conf/mysql.conf &

1.6.登录

$ mysql -S /forp/mysql-5.7.32/temp/mysql.sock -uroot -p speQ2;ILfUB7
mysql>

#如果报错libncurses.so.5 【yum install libncurses*】

1.7.修改root密码

mysql> alter user root@'localhost' identified by 'root';

2. 双主配置

2.1.架构方案:

两台mysql数据库服务器masterA和masterB,两台都可读写,互为主从。

主机名主机名IP角色
masterAMySQL-5.7.32192.168.2.100与B互为主从
masterBMySQL-5.7.32192.168.2.200与A互为主从

2.2.masterA:

2.2.1.修改配置文件

在masterA主机的/forp/mysql-5.7.32/conf/mysql.conf中添加如下几行
vi /forp/mysql-5.7.32/conf/mysql.conf

[mysqld]
log_bin=master100
 server_id=100
 auto_increment_offset = 1
 auto_increment_increment = 2
 log-slave-updates = true    

#systemctl start mysqld 重启服务
登录数据库查看主库的状态

mysql> show master status;
+------------------+----------+--------------+------------------+----
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | |
+------------------+----------+--------------+------------------+----
| masterA.000001   |    154   |              |                  |
+------------------+----------+--------------+------------------+----
1 row in set (0.00 sec)

添加主从同步账号
mysql> grant replication slave on . to 'forp’@”%” identified by '123456’;

2.2.2.配置B为A的从

在masterB主机上登录mysql数据库,执行如下命令,配置masterB为masterA的从。

mysql> change master to
master_host="192.168.2.100",
master_port=3306,
master_user="forp",
master_password="123456",
master_log_file="masterA.000001",
master_log_pos=154;
mysql> start slave;
mysql> show slave status\G;

显示有如下状态则正常:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

2.3.masterB

2.3.1.修改配置文件

在masterB主机的/forp/mysql-5.7.32/conf/mysql.conf中添加如下几行
vi /forp/mysql-5.7.32/conf/mysql.conf

[mysqld]
log_bin=master200
 server_id=200
 auto_increment_offset = 2
 auto_increment_increment = 2
 log-slave-updates = true    

#systemctl start mysqld 重启服务
登录后添加主从同步账号
mysql> grant replication slave on . to ''forp’’@’’%’’ identified by ''123456’’;
mysql> flush privileges;

查看主库的状态

mysql> show master status;
+------------------+----------+--------------+------------------+----
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | |
+------------------+----------+--------------+------------------+----
| masterB.000001   |    154   |              |                  |
+------------------+----------+--------------+------------------+----
1 row in set (0.00 sec)

2.3.2.配置A为B的从

在A主机执行:

mysql> change master to
master_host="192.168.2.200",
master_port=3306
master_user="forp",
master_password="FoRp_g147369",
master_log_file="masterB.000001",
master_log_pos=154;
mysql> start slave;
mysql> show slave status\G;

显示有如下状态则正常:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

3. 配置GTID

在所有主机的/etc/my.cnf中添加如下几行

[mysqld]
log-slave-updates = true    
gtid_mode=ON
enforce_gtid_consistency=ON

#]systemctl start mysqld 重启服务

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多