环境介绍:主库 192.168.13.13 从库 192.168.0.115
1、主库创建/etc/my.cnf,修改[mysqld]里边的键值打开
server-id = 1
log-bin=mysql-bin
binlog-do-db=temp_db #同步的表
binlog-ignore-db=test #不需要同步的表
2、主库增加 slave用户给权限,用于从库读取主库日志。
grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123456'
3、从库连接主库进行测试。
mysql -u slave -p123456 -h 192.168.13.13
停从库,修改从库/etc/my.cnf,增加选项: mysqladmin shutdown -uroot -p123456
[mysqld]
server-id=2
master-host=192.168.0.115
master-user=slave
master-password=123456
master-port=3306
replicate-do-db=temp_db #同步的数据库
重启主库 从库
mysqladmin shutdown -uroot -p123456 停
/etc/init.d/mysql start 启
从库查看状态
mysql -uroot -p123456
show slave status\G
6、进行测试:
主库创建表,
CREATE TABLE `TableName1` (
`int` int(11) NOT NULL AUTO_INCREMENT,
`a` varchar(100) DEFAULT NULL,
`b` varchar(100) DEFAULT NULL,
`c` varchar(100) DEFAULT NULL,
PRIMARY KEY (`int`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
打开从库,察看:
说明主从数据库创建成功。
7、主从数据库相关命令:
slave stop; slave start ; 开始停止从数据库。
show slave status\G; 显示从库正读取哪一个主数据库二进制日志。
purge master logs to ‘binlog.000004’; 此命令非常小心,删除主数据库没用的二进制日志文件。如果误删除,那么从库就没有办法自动更新了。
change master; 从服务器上修改参数使用。
例如:主库观察 show slave status\G; 显示参数,对应命令修改
CHANGE MASTER TO MASTER_HOST='192.168.13.13',
MASTER_USER='slave',
MASTER_PORT=3306,
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=106;
---- 继续查看状态
slave start ;
show slave status\G;