您的当前位置:首页>全部文章>文章详情

mysql主从同步配置

发表于:2019-10-10 18:14:45浏览:75次TAG: #Mysql

机器

192.168.1.1         # 主 master
192.168.1.2         # 从 slave

master 配置

sudo vim /etc/mysql/my.cnf

修改:

bind-address = 192.169.1.1         # your master ip
server-id = 1                 # 在master-slave架构中,每台机器节点都需要有唯一的server-id
log_bin = /var/log/mysql/mysql-bin.log     # 开启binlog

重启

sudo service mysql restart
# or
sudo systemctl restart mysql

创建主从同步的账号 slave_user

# 创建slave_user用户,密码123456,并指定该用户只能在主机%(可改成ip192.168.1.2)上登录。
mysql> CREATE USER 'slave_user'@'%' IDENTIFIED BY '123456';

为slave1赋予REPLICATION SLAVE权限

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%';

为MYSQL加读锁 (新库可忽略)

# 为了主库与从库的数据保持一致,我们先为mysql加入读锁,使其变为只读。
mysql> flush tables with read lock;

查看状态

mysql> show master status;

会出现 File / Position,配置从机器会用到

File Position Binlog_Do_DB Binlog_Ignore_DB
mysql-bin.000001 613 mysql

导出 master 机器数据

mysqldump -u root -p  --all-databases --master-data > dbdump.sql

解除master db锁

mysql> unlock tables;

将dbdump.sql copy 到 slave机器

scp dbdunp.sql ubuntu@192.168.1.2:/home/ubuntu/

slave 配置

sudo vim /etc/mysql/my.cnf

修改:

bind-address = 192.168.33.33         #your slave ip
server-id = 2         #master-slave结构中,唯一的server-id
log_bin = /var/log/mysql/mysql-bin.log         #开启binlog

重启

sudo service mysql restart
# or
sudo systemctl restart mysql

导入master db

mysql -u root -p  < /home/ubuntu/dbdump.sql

建立连接

mysql> STOP SLAVE;
mysql> CHANGE MASTER TO
 -> MASTER_HOST='192.168.1.1',
 -> MASTER_USER='slave_user',
 -> MASTER_PASSWORD='123456',
 -> MASTER_LOG_FILE='mysql-bin.000001',
 -> MASTER_LOG_POS=613;

#启动同步
mysql> START SLAVE;

MASTER_LOG_FILE | MASTER_LOG_POS 在master机器 show master status 可得到

查看状态

show slave status;
栏目分类全部>
腾讯云采购季云服务器一折促销