win7下mysql5.6与centos下mysql5.6主从复制,主数据库变动数据后,从数据库也跟着变化。 win7下的mysql5.6作为主服务器,ip地址为:192.168.8.151 centos6.6下mysql5.6作为从服务器,ip地址为:192.168.8.238 (虚拟机,采用桥连模式,虚拟机直接获取实体机局域网IP) win7下mysql5.6的默认安装。过程省略。 centos6.6下mysql5.6安装,通过rpm包默认安装,可以参考mysql官方网站说明。下图为centos下mysql安装路径说明。 win7 mysql5.6需要配置C:\ProgramData\MySQL\MySQL Server 5.6\my.ini文件,内容如下: log-bin=C:/ProgramData/MySQL/MySQL Server 5.6/mylog-bin.log
//开启log-bin日志,并存放log-bin的位置。 server-id=1 //为服务器设置标识,最好不要与从服务器的标识相同。 binlog-do-db=zjctest //只对数据库为zjctest 做binlog操作 #binlog-ignore-db=mysql //不对mysql进行binlog操作。 并且在mysql命令行中要容许从服务器mysql获取主服务器log-bin日志,必须赋权限。 GRANT REPLICATION SLAVE ON *.* to 'yourname' @ 'your_从服务IP' identified by '密码' 直接给从服务器给予ALL权限,(省事,呵呵)如下: GRANT ALL ON *.* to 'root'@'192.168.8.238' identified by 'root'; 配置从服务器主要在 /etc/my.cnf中,这个文件时mysql的配置文件,修改内容如下:在【mysqld】下面添加: server-id = 2 log_bin = /var/lib/mysql/mylogbin.log //开启log_bin文件,与上同 sync_binlog = 1 //主要是默认情况下,并不是每次写入时都将binlog与硬盘同步。因此如果操作系统或机器(不仅仅是MySQL服务器)崩溃,有可能binlog中最后的语句丢 失了。要想防止这种情况,你可以使用sync_binlog全局变量(1是最安全的值,但也是最慢的),使binlog在每N次binlog写入后与硬盘同步。 relay_log = mysql_relay_bin //主要是把主服务器中的log_bin同步过来后,生成名称为mysql_relay_bin的日志 relay log很多方面都跟binary log差不多,区别是:从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器。 replicate-do-db=zjctest //只对zjctest服务器进行复制操作。 #replicate-ignore-db=mysql //不对mysql进行复制操作 通过命令mysql -uroot -proot 进入从mysql命令行执行命令:change master to master_host = '192.168.8.151',master_user='root',master_password='root'; 启动从数据库复制线程 start slave; 查询从数据库的复制线程状态 show slave status \G; 如果Slave_IO_Running和Slave_SQL_Running两项都为yes,就表示主从复制配置成功了. 在主服务器中插入一个数据,看一下从数据库里面有那条数据吗?有证明主从同步成功! |