准备前 关闭firewalld、selinux 、检查网络、检查yum仓库
M——S
1.准备两台干净服务器
2.主、从都关闭firewalld、selinux
systemctl stop firewalld 、systemctl disable firewalld
setenforce 0 vi /etc/selinux/config SELINUX=disabled
3.主、从下载mysql mysql-server
yum -y install mysql mysql-server
4.启动mysql
systemctl start mysqld
5.查看密码
grep password /var/log/mysql.log
6.主从修改密码
mysqladmin -uroot -p’password’ password ‘New password’
7.修改配置文件
主:
vi /etc/my.cnf
写入
log-bin=my1log
server-id=1
从:
vi /etc/my.cnf
写入
log-bin=my2log
server-id=2
8.主登录mysql 并创建用于主从复制的用户,从编写配置环境
主:
mysql -uroot -p’password’
grant all on . ‘user’@’%’ inentified by ‘password’
从:
mysql -uroot -p’password’
edit
change master to
masterhost=’主ip’,
master_user=’user’,
master_password=’password’,
master_log_file=’my1log.000001’,
master_log_pos=4,
master_port=3306,
master_connect_retry=10;
flush privileges;
start slave;
show slave status;
M——M
准备两台服务器
192.168.188.128
192.168.188.129
修改mysql配置文件my.cnf
vim /etc/my.cnf
validate_password=off #关闭强密码,可使用弱密码
log_bin=my1log
server_id=1
gtid_mode=on
enforce_gtid_consistency=1
保存,并且启动mysql,创建用户并给与权限%
grant all on . to ‘user’@’%’ identified by ‘123’;
_edit
change master to
master_host=’192.168.188.129’,
master_user=’user’,
master_passowrd=’123’,
master_auto_position=1;
start slave;
show slave status;
128和129服务器做同样操作
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
显示io线程和sql线程为yes则创建成功
MM——SS
M:
192.168.188.128
192.168.188.129
S:
192.168.188.130
192.168.188.131
首先部署MM,随后每个S关联两个M
M配置文件编辑
vim /etc/my.cnf
validate_password=off #关闭强密码,可使用弱密码
log_bin=my1log
server_id=1
gtid_mode=on
enforce_gtid_consistency=1
两个M互为主从(详情见M——M部署)
其次如果master有数据,则优先进行数据备份
mysqldump -uroot -123 -A > master.sql #进行数据备份,备份文件为master.sql,
进行S编辑
编辑配置文件
log_bin=my3log
server_id=3
gtid_mode=on
enforce_gtid_consistency=1
relay_log_recovery=on
relay_log_info_repository=table
master_info_repository=table
保存退出
进行change master to 编辑master-1
edit
change master to
master_host=’192.168.188.129’,
master_user=’user’,
master_password=’123’,
master_auto_position=1 for channel ‘master-1’;
保存,并且启动slave
编辑master-2
edit
change master to
master_host=’192.168.188.128’,
master_user=’user’,
master_password=’123’,
master_auto_position=1 for channel ‘master-2’;
start slave;
show slave status;
两台S均做上述同样操作,
显示master-1,和master-2的io线程和sql线程均为yes,则成功创建
