MySQL主从(MS)、主主(MM)复制

MySQL主从(MS)、主主(MM)复制

安装MySQL 5.7

如果安装过mysql,删除

停掉mysql进程:

pkill -9 mysqld

删除mysql:

rpm -qa|grep -i mysql
yum -y remove
mysql-community-client-5.6.38-2.el7.x86_64

依次卸载 直到没有

yum安装

cd /usr/local/src/
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 
rpm -ivh mysql57-community-release-el7-8.noarch.rpm 
yum -y install mysql-server

默认配置文件路径:

  • 配置文件:/etc/my.cnf
  • 日志文件:/var/log/mysqld.log
  • 服务启动脚本:/usr/lib/systemd/system/mysqld.service
  • socket文件:/var/run/mysqld/mysqld.pid

启动mysql

service mysqld restart

查看临时密码:

$ grep "password" /var/log/mysqld.log
临时密码信息如下:
[Note] A temporary password is generated for root@localhost: M:sd6OoNZkz1

用临时密码登录:

mysql -uroot -p

修改密码(密码8位以上,大小写字母+数字+特殊符号):

set password for root@localhost = password('Node2018!');

Navicat连接mysql

登录mysql,查看现有的user:

mysql -uroot -pNode2018!
mysql> select host,user from mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
3 rows in set (0.01 sec)

创建一个新的账号:

CREATE USER 'root'@'%' IDENTIFIED BY 'Node2018!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

刷新权限:

FLUSH PRIVILEGES;

主从复制配置

编辑mysql的配置文件: vim /etc/my.cnf

192.168.7.2:
log-bin=mysql-bin #binlog文件的前缀,可以修改
binlog-format=ROW #选择row模式 
server_id=2 #必须,不同mysql不能重复
log_slave_updates=1 #开启以后从库会记录主库同步的binlog。
auto_increment_increment=2 #步进值,一般有n台主MySQL就填n。
auto_increment_offset=1 #起始值。一般填第n台主MySQL。


192.168.7.3:
log-bin=mysql-bin #binlog文件的前缀,可以修改
binlog-format=ROW #选择row模式 
server_id=3 #必须,不同mysql不能重复
log_slave_updates=1 #开启以后从库会记录主库同步的binlog。
auto_increment_increment=2 #步进值,一般有n台主MySQL就填n。
auto_increment_offset=1 #起始值。一般填第n台主MySQL。


192.168.7.4:
log-bin=mysql-bin #binlog文件的前缀,可以修改
binlog-format=ROW #选择row模式 
server_id=4 #必须,不同mysql不能重复
log_slave_updates=1 #开启以后从库会记录主库同步的binlog。

分别重启192.168.7.2、192.168.7.3、192.168.7.4上的mysql:

service mysqld restart

在192.168.7.2新建复制账号:

CREATE USER user73 IDENTIFIED BY 'Node2018!';
GRANT ALL PRIVILEGES ON *.* TO 'user73'@'%' ; 
FLUSH PRIVILEGES;
CREATE USER user74 IDENTIFIED BY 'Node2018!';
GRANT ALL PRIVILEGES ON *.* TO 'user74'@'%' ; 
FLUSH PRIVILEGES;
复制代码

在192.168.7.3上配置复制的master信息:

CHANGE MASTER TO
MASTER_HOST='192.168.7.2',
MASTER_USER='user73',
MASTER_PASSWORD='Node2018!',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=2340;

在192.168.7.4上配置复制的master信息:

CHANGE MASTER TO
MASTER_HOST='192.168.7.2',
MASTER_USER='user74',
MASTER_PASSWORD='Node2018!',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=2340;

开启复制并查看复制状态:

START SLAVE;
SHOW SLAVE STATUSG;

主主复制配置

7.2 和7.5 配置主主复制

配置node5的my.cnf:

log-bin=mysql-bin #binlog文件的前缀,可以修改
binlog-format=ROW #选择row模式 
server_id=5 #必须,不同mysql不能重复
log_slave_updates=1 #开启以后从库会记录主库同步的binlog。
auto_increment_increment=2 #步进值,一般有n台主MySQL就填n。
auto_increment_offset=2 #起始值。一般填第n台主MySQL。

在7.2上创建一个7.5上能访问的账号:

CREATE USER user75 IDENTIFIED BY 'Node2018!';
GRANT ALL PRIVILEGES ON *.* TO 'user75'@'%' ; 
FLUSH PRIVILEGES;

在7.5上创建一个7.2上能访问的账号:

CREATE USER user72 IDENTIFIED BY 'Node2018!';
GRANT ALL PRIVILEGES ON *.* TO 'user72'@'%' ; 
FLUSH PRIVILEGES;

互相change master:

CHANGE MASTER TO
MASTER_HOST='192.168.7.5',
MASTER_USER='user72',
MASTER_PASSWORD='Node2018!',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=154;
CHANGE MASTER TO
MASTER_HOST='192.168.7.2',
MASTER_USER='user75',
MASTER_PASSWORD='Node2018!',
MASTER_LOG_FILE='mysql-bin.000005',
MASTER_LOG_POS=1761;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值