linux下部署mysql主从复制 第一篇
首先介绍下主从复制的原理 :
依赖于二进制日志,binary-log、二进制日志中记录引起数据库发生改变的语句 Insert 、delete、update、create table
1.VM安装我就不具体介绍了,自己去下载,新建两台虚拟机(ps: 虚拟机上面需要安装mysql环境,最好配个java环境,java 环境可有可无)
下图为我本地的两台虚拟机(192.168.226.128为mysql 主服务器,192.168.226.129为mysql 的从服务器)如图:
2.两台服务器环境搭建好后 使用Xshell 5 连接我们两台虚拟机 并启动我们的mysql 服务,具体步骤可以百度,这里我就不详细列出
3.接下来我们先配置主服务器的复制
1.Xshell5 使用命令vim 进入到 /etc/my.cnf (vim /etc/my.cnf)文件 输入 i 进入编辑模式新增 下面两项配置
1.1、server_id=128 ###服务器id
1.2、log-bin=mysql-bin ###开启日志文件
输入完成后按下esc 键保存,输入:wq退出保存,至此我们的主服务器就配置完成了,命令行使用cat my.cnf 查看是否保存成功就行了.
1.3 从服务器同理修改my.cnf 文件比主服务器多一条如下:
server_id=129
log-bin=mysql-bin
binlog_do_db=test
保存即可!!!!!!
4.接下来本地使用navicat连接两台服务器上面的mysql服务:
1.主服务
2.从服务
3.连接后新建查询看看刚设置的是否生效如下:
SHOW VARIABLES LIKE 'server_id' 执行此命令 #查询服务器id如图
show master status; 执行此命令 #查询服务器信息
GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; 执行此命令 #开放对外部的连接(ps:也就是说给从数据提供连接的用户名密码)
5.如果上述OK,接下来就是从数据库的查看
同上两个步骤查看服务器Id与服务器信息
第三步执行如下命令:
#关闭同步
stop slave
#开启从192.168.226.128数据库同步数据
change master to master_host='192.168.226.128',master_user='mysync',master_password='q123456',
master_log_file='mysql-bin.000002',master_log_pos=243;
#开始同步
start slave
以上步骤都OK得情况下我们执行下面的命令查看是否同步成功主要关注我标记的部分是否是yes 如果为false则配置失败了
#检测服务器是否同步成功
SHOW SLAVE STATUS
以上全部达成就开始体验一把吧! 至此只是一个简单的主从复制,并未牵扯到读写分离!小白一枚大神勿喷,多多指教!!