准备解压版的mysql
我这里使用的是5.6版本 可以去官网下载(不会下载的可以留言给我)
有需要的可以自行选择 搭建过程都大体一致
Master 主服务器配置
首先解压一个mysql 改名为mysql-master
(改什么都可以 只要自己分得清)
将mysql-master
下的my-default.ini
复制一份改名为my.ini
文件
添加以下代码
port=3307 #mysql的端口号
server-id=1 #指定id 保证唯一(不能重复)
log-bin=mysql-bin #//启用二进制日志
binlog-do-db=shop #指定需要同步的数据库
然后在你的master的bin目录下打开cmd窗口启动mysql的服务
mysqld --console
然后打开你的navicat 连接你的3307端口
因为我们没有去配置密码直接连接就行
连接成功后我们需要去开放端口
至于怎么去开放端口 可以参考这篇博客: MySQL远程连接报错1130
接下来
在主库添加一个用户 kiko并指定replication权限
在查询按钮下,新建查询,弹出输入语句的窗口,里面输入下面内容:
至于用户名跟密码可以自己更改(这里kiko是我的账号,root是我的密码)
create user 'kiko'@'127.0.0.1' identified by 'root';
然后赋予权限
GRANT REPLICATION SLAVE ON *.* TO 'kiko'@'127.0.0.1';
里我指定数据库(test.*)
时报错,而指定全库(*.*)
时会成功。
然后在可视化界面查看主服务器状态,记录下值
show master status;
出现这个的时候master就配置完成了 不用再动了
Slave从服务器配置
然后解压一个mysql 改名为mysql-slave
(改什么都可以 只要自己分得清)
将mysql-slave
下的my-default.ini
复制一份改名为my.ini
文件
添加以下代码
port=3308 #mysql的端口号
server-id=2 #指定id 保证唯一(不能重复)
log-bin=mysql-bin #//启用二进制日志
binlog-do-db=shop #指定需要同步的数据库
然后也是启动MySQL 开放端口 上面有介绍 我就不多说了
然后也是新建查询 创建mysql-slave新连接:输入停止服务命令:
stop slave;
接下来配置与主服务器的连接
change master to master_host='127.0.0.1',master_port=3307,master_user='kiko',master_password='root',master_log_file='mysql-bin.000002',master_log_pos=120;
这里的master_log_file和master_log_pos对应刚才show master status记下的参数 用户名跟密码也是写自己刚去创建的
执行完毕之后开启服务
start slave;
然后查看服务器的状态
show slave status;
当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步配置成功了。
接下来我们可以进行验证了:
1.给Master主服务器创建数据库,以我为例创建shop数据库
2. 给数据库创建表和数据–>保存后
3. 在 slave从服务器 刷新数据库,Master主服务器的数据库数据就同步过来了
如果有哪里不懂的请留言 写的有点乱
qwq