mysql主从复制
mysql主从数据库配置
如何配置mysql主从数据库
首先确保主从服务器上的Mysql版本相同
主数据库服务器配置:
1. 修改主数据库的配置文件my.ini, 修改之后重启Mysql服务。
[mysqld]
port=3306
server-id=10 #与从数据库不同
log-bin=c:\log-bin.log #日志文件
binlog-do-db=tpceshi #这里设置需要在主服务器记录日志的数据库,只有在这里设置了的数据库才能被复制到从服务器
binlog-ignore-db=mysql #这里设置在主服务器上不记度日志的数据库
2. 打开mysql命令行登陆mysql,,设置一个从数据库的账户,给从数据库分配复制权限
mysql>GRANT REPLICATION SLAVE ON *.* TO slave001‘@‘192.168.0.99‘ IDENTIFIED BY ‘123456‘;
slave001:用户名
192.168.0.99:IP
123456:密码
3.show masterstatus;显示主数据库状态
File:数据库日志文件
Position:日志位置
这2个选项用于在从数据库服务器中配置
////////////////
从数据库数据同步
////////////////
好了,现在可以停止主数据的的更新操作,并生成主数据库的备份,我们可以通过mysqldump导出数据到从数据库
注意在导出数据之前先对主数据库进行READ LOCK,以保证数据的一致性
mysql> flush tables with read lock;
之后是mysqldump
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql
最好在主数据库备份完毕,恢复写操作
mysql> unlock tables;
将刚才主数据备份的test.sql复制到从数据库,进行导入
从数据库服务器配置:
1.修改从数据库的my.ini,增加server-id参数,与主数据库不同
2.在mysql命令行,指定复制使用的用户,主数据库服务器的ip,端口以及开始执行复制日志的文件和位置
CHANGE MASTER TO
MASTER_HOST=‘192.168.1.238‘,
MASTER_USER=‘root‘,
MASTER_PASSWORD=‘123456‘,
MASTER_LOG_FILE=‘log-bin.000001‘,
MASTER_LOG_POS=120;
3.在从服务器上,启动slave进程
mysql> start slave;
4. 在从服务器进行show salvestatus验证
mysql> SHOW SLAVE STATUS\G
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: root
Master_Port: 3306
Connect_Retry: 3
Master_Log_File: mysql-bin.003
Read_Master_Log_Pos: 79
Relay_Log_File: gbichot-relay-bin.003
Relay_Log_Pos: 548
Relay_Master_Log_File: mysql-bin .003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果Slave_IO_Running和Slave_SQL_Running都为YES的话,则表明配置成功。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。