MYSQL主从复制配置

不羁岁月 提交于 2019-12-27 17:56:18

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

首先我在自己的linux虚拟机上安装了一个数据库,这样加上我windows上的数数据库就可以模拟主从备份了。 安装过程没什么好说的,日后再补充。 值得注意的一点是,安装好之后到 /usr/share/mysql 目录下去copy个my.cnf 这个时候有很多个选择的,例如 my-large.cnf my-medium.cnf my-small.cnf 从名字就可以看出,一个是规模大的,一个中等的,一个小的,里面的配置有所不同 这样不用到处去找mysql的配置优化

一、主库配置 比较简单 server-id数据库服务的标志,注意在所有集群中不要重复就行了 log-bin开启二进制日志,数据从主库copy到从库就是靠这个日志来执行的。 [mysqld] server-id=101 log-bin=mysql-bin

修改配置文件时候,重启mysql服务

二、从表配置 log-bin开启二进制日志,可以不开启。注意从库,同时也可以作为其他库的主库这样可以实现多数据库集群。之前看到一篇比较好的文章的,等我找回来再看看。 server-id 集群中唯一 relay-log salve线程是在relay-log里面读取二进制log执行 log-slave-updates 允许通过log更新数据库1就是true read-only 只读1就是true

log-bin = mysql-bin server-id = 2 relay-log = mysql-relay-bin log-slave-updates = 1 read-only = 1 修改之后别忘了重启数据库

二、锁表,copy数据到从库初始化 使用mysqldump复制数据库到从库中,保持两个库一致的

三、查看master库的日志状态 SHOW MASTER STATUS 输入图片说明

四、设置从库从哪里拷贝主库数据 MASTER_HOST master库的IP地址 MASTER_USER master数据库的用户名,正式环境建议不要用root用户,因为root用户会拥有读写权 限,这样就有可能导致两边数据不一致了。注意mast数据库的这个用户是开通了允许从库的ip远程访问的。 MASTER_PASSWORD 数据库密码 MASTER_LOG_FILE 刚才查到的master的log状态 mysql-bin.000006 MASTER_LOG_POS master的Postion

mysql> CHANGE MASTER TO MASTER_HOST='master库的IP地址′, MASTER_USER='root', MASTER_PASSWORD='root', MASTER_LOG_FILE='mysql-bin.000007′, MASTER_LOG_POS=107;

设置好之后还要执行开始才会开始同步 mysql>start slave; 如果要修改配置,那么要先停掉同步 mysql> stop slave 然后再修改 再看一下slave的状态 输入图片说明 Slave_IO_Running: Yes Slave_SQL_Running: Yes 证明成功了 然后验证一下,改变主库的数据库,然后查看一下从库,跟着更新了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!