mysql主从同步配置

1.主从两台服务器先安装好mysql,访问服务器与主从三个服务器之间网络互相可以访问。
访问服务器:192.168.142.1
mysql主:    192.168.142.143
mysql从:    192.168.142.144
查看mysql配置文件位置: mysql --help | grep 'Default options' -A 1,mysql会依序的去这些位置找my.cnf文件的,没有就下一个。


2.修改主数据库的配置文件
[mysqld]
server-id=1
log-bin=mysqlmaster-bin.log
sync_binlog=1
#注意:下面这个参数需要修改为服务器内存的70%左右
innodb_buffer_pool_size = 512M
innodb_flush_log_at_trx_commit=1
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
lower_case_table_names=1
log_bin_trust_function_creators=1
默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉
#bind-address           = 127.0.0.1  <---注释掉这一行
修改后重启mysql


3.修改从数据库的配置文件(server-id配置为大于1的数字即可)
[mysqld]
server-id=2
log-bin=mysqlslave-bin.log
sync_binlog=1
#注意:下面这个参数需要修改为服务器内存的70%左右
innodb_buffer_pool_size = 512M
innodb_flush_log_at_trx_commit=1
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
lower_case_table_names=1
log_bin_trust_function_creators=1
默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉
#bind-address           = 127.0.0.1  <---注释掉这一行
修改后重启mysql


4.SSH登录到主数据库,在主数据库上创建用于主从复制的账户
GRANT REPLICATION SLAVE ON *.* TO 'rep'@'192.168.142.144' IDENTIFIED BY 'rep';


5.主数据库锁表
FLUSH TABLES WITH READ LOCK;


6.然后克隆一个SSH会话窗口,在这个窗口打开MySQL命令行
SHOW MASTER STATUS;
记录查询结果,例如为如下结果
+------------------------+----------+--------------+------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------------+----------+--------------+------------------+
| mysqlmaster-bin.000001 |      261 |              |                  |
+------------------------+----------+--------------+------------------+


7.在主数据库上创建一个数据快照
mysqldump -uroot -p -h127.0.0.1 -P3306 --all-databases --triggers --routines --events >all.sql


8.解锁第5步的锁表操作
UNLOCK TABLES;


9.ssh登录到从数据库,通过FTP、SFTP或其他方式,将上一步备份的主数据库快照all.sql上传到从从数据库服务器某个路径,从导入主的快照
mysql -uroot -p -h127.0.0.1 -P3306 < all.sql


10.给从数据库设置复制的主数据库信息(注意修改MASTER_LOG_FILE和MASTER_LOG_POS的值, MASTER_LOG_FILE更改为第5步FIle字段的值,MASTER_LOG_PATH该为第6步中的Position字段的值)
登录到mysql
mysql> CHANGE MASTER TO MASTER_HOST='192.168.142.143',MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=261;




11.启动从数据库的复制线程
mysql> START slave;


12.查询从数据库的状态
mysql> SHOW slave STATUS \G;


如果下面两个参数都是Yes,则说明主从配置成功!
Slave_IO_Running:  Yes
Slave_SQL_Running: Yes


接下来你可以在主数据库上创建数据库、表、插入数据,然后看从数据库是否同步了这些操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值