windows下如何配置MySQL数据库主从同步
工具
-
Mysql
-
Navicat Premium
设置my.ini 文件;在安装目录下找到my.ini 文件:
默认路径:C:\Program Files\MySQL\MySQL Server 5.0,如下图所示:
在my.ini 文件中找到[mysqld](#注释自行删除)
添加如下配置(需要同步的数据库有多少都可以写进去,主从同步会根据库名称找到对应的丛库去同步数据)
server-id=1#主库和从库需要不一致
log-bin=mysql-bin
binlog-do-db=mstest#同步的数据库
binlog-do-db=test#同步的数据库1
binlog-do-db=keyboard#同步的数据库2
binlog-ignore-db=mysql#不需要同步的数据库
如下图所示:
重启MySql 服务(停止、启动),如下图所示:
-
确认 主库的serverid 和需要同步的数据库及不用同步的数库
打开Navicat Premium 连接主库
按 F6 或 在[工具]中找[ 命令列表界面]
输入: SHOW VARIABLES LIKE 'server_id';
确认 serverId
输入:show master status;
确认:需要同步的数据库及不用同步的数库 下图中 file 和position 在从库配置中会用到 (每次修改主服my.ini 文件 file和position 参数都会变),如下图所示:
-
为从库创建账号,如下图所示:
其中 % 代表任何主机都能连接该数据库。
-
添加账号权限:服务器权限 全部选上,如下图所示:
-
至此,主库配置完成。
丛库配置
-
用主库创建的账号密码连接一下看是否能正常连接。同样找到my.ini文件进行配置文件
找到[mysqld]节点
server-id=2#和主库不一致
replicate-do-db=test#需要同步的库1
replicate-do-db=keyboard#需要同步的库2
replicate-ignore-db=mysql#不需要同步的库
-
同主库差不多,图就不抛了
-
重启MySql 服务, 打开任务管理器 ,找到 mysql, 停止一下, 然后启动,如下图所示:
-
设置运行代码从库配置
输入:stop slave; 暂停 从库。
-
输入:
change master to master_host='192.168.0.103',master_port=3306,master_user='slave',master_password='123',master_log_file='mysql-bin.000005',master_log_pos=98;
说明 : 对应着改成 你们自己的配置,master_host:主库的ip,master_port:主库的端口,master_user:主库给丛库建立的账号名称,master_password:账号密码
关于master_log_file 和 Position('mysql-bin.000005' 98) 是主库配置中的第3步得到的 主库中输入命令 show master status;
-
输入:start slave; 启动就可以了;
如下图所示:
-
检验是否可以打通了。
输入:show slave status;
当然他们说这样也可以(但我不行) show slave status\G (没有分号),查看
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
输入指令之后,如下图所示:
-
会出现较长文字 ,不好看 ,于是我将其复制到 text上, 如下图所示: