Tools
首页
画图
音乐
采集
记事
博客
实验室
登录
lypeng
146
文章
11
分类
46
记事
分类
生活-[23]
Linux-[24]
前端-[9]
数据库-[16]
PHP-[31]
git-[7]
其他-[6]
python-[20]
算法-[4]
React-Native-[4]
中草药-[2]
广告位1
广告位2
首页
/ 数据库
返回列表
mysql主从同步相关命令整理
阅读:523
发布:2018-07-06
作者:lypeng
主从同步相对读写分离来说,配置起来容易点,至少需要两台主机~ 我这里用到的如下,Ubuntu16.04系统安装virtualbox,然后装虚拟机centos7 ## 环境版本信息 |IP地址|说明|系统|MYSQL| |--|--|--|--| |192.168.1.129| 主库master|物理机-Ubuntu16.04|mysql_5.7.22| |192.168.1.130| 从库slave|虚拟机-centos7_desktop|mysql-5.6.40| ## 前提要求 ### 安装MySQL 略过,参见:https://www.cnblogs.com/panzhaohui/p/7169905.html?_blank ### 两台机器能够互通 1. 设置虚拟机网络模式为桥接模式。 如果为nat模式,与主机设置同一网段的静态IP后是无法上网的 2. 配置静态IP centos_desktop版安装的直接在桌面右上角点击网络修改,最后把4关闭,再开启即可。  centos_mini版安装的修改 `/etc/sysconfig/network-scripts/ifcfg-enp0s3`,内容如下图右边,重启网络`systemctl restart network`,ifconfig查看是否生效。  备注:mini版的必须加上gateway,否则无法解析域名,或者要使用`route add default gw 192.168.1.1`配置路由 3. 注意防火墙,3306端口等是否可以互通访问。 可以用80端口做测试,例如:`yum -y install httpd`,`systemctl start httpd`,`curl -I 192.168.1.130:80` ## 准备完毕开始配置 ### 主库操作 这里仅针对mydb数据库做练习。从库配置完成后创建。 #### 配置(设置server-id,开启binlog,设置同步数据库,这里列出主要配置) ``` [mysqld] server-id=1 log-bin=mysql-bin binglog-format=mixed binlog-do-db=mydb ``` #### 创建用户与授权 `create user lypeng@192.168.1.130 identified 'lypeng123'` `grant ALL privileges on mydb.* to lypeng@192.168.1.130` 或者将上面两条合并,创建用户同时授予权限 `grant all privileges on mydb.* to lypeng@192.168.1.130 identified 'lypeng123';` #### 刷新权限 `flush privileges;` #### 重置master,binlog信息 `reset master` 作用:刚开始你可以有很多binlog,例如mysql-bin.000001,mysql-bin.000002,000003,000004,000005等等,reset之后,将重新从000001开始记录,删除其他的~ #### 查看主库binlog状态 `show master status;` ### 从库操作 #### 配置(设置server-id) ``` server-id=2 ``` 不用开启binlog,开了也无所谓,不影响什么,同步时会生成,relaylog,互相不冲突~ #### 设置master信息 `change master to master_host='192.168.1.129',master_user='lypeng', master_password='lypeng123',master_log_file='mysql-bin.000002',master_log_pos=120;` #### 启动同步 `start slave;`  ### 回到主库 按上面的操作完毕后,在主库建立数据库mydb,然后建表,增删改查, ### 回到从库 查看数据是否已经同步过来了 ``` show databases; use mydb; select * from user; ```  如果没有,可以查看状态,然后根据错误提示去调整 `show slave status\G;` ### 后续操作 如果要停止同步,执行:`stop slave;` 或者重置slave,清除从库角色,即取消从master的同步信息:`reset slave all;` 如果要增加更多的从库,注意配置server-id不一样,同时修改那个授权用户的IP,可以写为%
------本文结束
感谢阅读------
上一篇:
自动备份数据库与文件,本地定时下载
下一篇:
mysql读写分离