意思:
主机A上有mysql1,主机B上有mysql2,mysql1新建库D,则mysql2也新建库D,mysql1原有库A、B、C,mysql2也原有库A、B、C,总之mysql1和mysql2一样。
环境:
2台linux虚拟主机(linux版本均为centos6.5),对应2个不同的ip地址,这2台linux虚拟主机里均有mysql5.6。
开始构建主从复制
步骤1:
切换用户,service iptables stop以暂时关防火墙,(chkconfig --level 2345 iptables off以永久关防火墙),ifconfig以看ip地址
使2个操作系统下的mysql里没有任何数据(自己不建任何库,自带的不用管)
令主机A为主数据库服务器,主机B为从数据库服务器(谁为主无所谓)
一般linux下mysql配置文件在/etc/my.cnf,输入find / -name my.cnf以查找所有名为my.cnf的文件,输入vim /etc/my.cnf命令以进入(打开)mysql配置文件,在配置文件中加log-bin=mysql-bin,这就已开启二进制日志(必须开启主服务器二进制日志,因为数据的同步实质为其他的mysql数据库服务器将这个数据变更的二进制日志在本机上再执行一遍),配置文件中保证每台主机的server-id不重复
步骤2(在master数据库服务器中):
进入mysql
GRANT REPLICATION SLAVE ON *.* TO '主库用户名'@'从库ip地址' IDENTIFIED BY '主库密码'; //(创建一个从主机中可以登录的mysql用户)
FLUSH PRIVILEGES;
退出mysql
service mysql stop;
service mysql start;
步骤3(在master数据库服务器中):
进入mysql
show master status;
停止服务再启动服务
步骤4(在slave数据库服务器中):
进入mysql
CHANGE MASTER TO MASTER_HOST='主库ip地址',MASTER_USER='主库用户名',MASTER_PASSWORD='主库密码',
MASTER_LOG_FILE='mysql-bin.000011',MASTER_LOG_POS=417;
(在CHANGE MASTER TO之前stop slave;reset slave;)
START SLAVE;
SHOW SLAVE STATUS\G
(养成习惯:改配置文件先停掉服务)
测试主从复制:
进入主的mysql,show databases,进入从的mysql,show databases
进入主MySQL,建库,新库名test,再进入从MySQL,看有没有这一新库test
关机后,做步骤4,重启slave数据库服务器以重新开启主从复制。