1. 社区版安装包下载:https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
2. 删除本机mariadb-libs
# yum remove -y mariadb-lib
3. 安装社区版安装包 (test包不用安装,可以删除)
# yum install net-tools perl -y (最小化安装的centos需要安装依赖)
# mkdir mysql-5.7.34 && mv mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar mysql-5.7.34
# cd mysql-5.7.34 && tar xvf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar && rpm -ivh *.rpm
4. 更改主主配置: (问题参考"问题.txt")
主:/etc/my.cnf
------------------------------------------------
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character_set_server=utf8
max_connections=10000
log_timestamps=SYSTEM
lower_case_table_names=1
explicit_defaults_for_timestamp=true
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER
#主主复制配置:
auto_increment_offset=2
auto_increment_increment=2
log-bin=mysql-bin
binlog_format=row
log_bin_trust_function_creators=1
expire_logs_days=30
server-id=1
#配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步
log-slave-updates
sync_binlog=1
#中继日志文件
relay_log = mysql-relay-bin
#需要复制的数据库名,如果有多个数据库,需要重复设置此参数,每个数据库一行
#replicate-do-db=ambari
#replicate-do-db=hive
#replicate-do-db=ranger
#不需要复制的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
另外一个主:/etc/my.cnf
------------------------------------------------
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character_set_server=utf8
max_connections=10000
log_timestamps=SYSTEM
lower_case_table_names=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#主主复制配置:
auto_increment_offset=1
auto_increment_increment=2
log-bin=mysql-bin
binlog_format=row
log_bin_trust_function_creators=1
expire_logs_days=30
server-id=2
#配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步
log-slave-updates
sync_binlog=1
#中继日志文件
relay_log = mysql-relay-bin
#需要复制的数据库名,如果有多个数据库,需要重复设置此参数,每个数据库一行
#replicate-do-db=ambari
#replicate-do-db=hive
#replicate-do-db=ranger
#不需要复制的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
5. 启动mysqld服务
# systemctl start mysqld(两节点)
6. 配置mysql双向数据复制
登录mysql创建用于同步的用户账号:
192.168.128.128执行
grant replication slave on *.* to 'repuser'@'192.168.128.129' identified by 'Toor@1234';
flush privileges;
select user,host from mysql.user;
show grants for repuser@'192.168.128.129';
192.168.128.129执行show master status
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 6917 | | | |
+------------------+----------+--------------+------------------+-------------------+
192.168.128.128执行
change master to master_host='192.168.128.129',master_user='repuser',master_password='Toor@1234',master_log_file='mysql-bin.000001',master_log_pos=6917,master_port=3306;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
192.168.128.129执行
grant replication slave on *.* to 'repuser'@'192.168.128.128' identified by 'Toor@1234';
flush privileges;
select user,host from mysql.user;
show grants for repuser@'192.168.128.128';
192.168.128.128执行show master status
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 8569 | | | |
+------------------+----------+--------------+------------------+-------------------+
192.168.128.129执行
change master to master_host='192.168.128.128',master_user='repuser',master_password='Toor@1234',master_log_file='mysql-bin.000001',master_log_pos=8569,master_port=3306;
6. 修改密码策略:
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=0;
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1295次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
484次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
457次阅读
2025-03-13 14:38:19
Ogg23ai高手必看-MySQL Innodb Cluster跟oracle的亲密接触
曹海峰
454次阅读
2025-03-04 21:56:13
SQL优化 - explain查看SQL执行计划(一)
金同学
388次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
349次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
327次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
263次阅读
2025-04-01 08:47:17
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
237次阅读
2025-03-10 07:58:44
MySQL8.0直方图功能简介
Rock Yan
228次阅读
2025-03-21 15:30:53