准备前 关闭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,则成功创建