1.安装主库服务
修改mysql安装路径my.ini。
如果没有,在安装根目录创建即可。编辑内容如下:
使用管理员身份运行cmd进入/bin目录下,执行:
mysqld.exe --install master --defaults-file=D:\mysql-8.0.25-winx64\my.ini
说明:D:\mysql-8.0.25-winx64\my.ini是你自己的路径 ,master是起的别名。
然后以master启动服务
net start master
2.安装从库服务
1、第一个MySQL服务安装完毕后,将MySQL的文件夹重新复制一份,并重命名为mysql-8.0.25-slave。修改下该文件夹下的my.ini文件
注意:替换basedir、datadir路径,修改port、server-id不要和主库重复。
2、同样以管理身份运行cmd,切换到D:\mysql-8.0.25-slave/bin目录下,执行:
mysqld.exe --install slave --defaults-file=D:\mysql-8.0.25-slave\my.ini
说明:D:\mysql-8.0.25-slave\my.ini是你自己的路径 ,slave是起的别名
然后以slave启动服务
net start slave
3.主库配置
1、用navicat连接上主数据库进行操作
#创建用户
CREATE USER ‘slave’@‘localhost’ IDENTIFIED BY ‘123456’;
#授权用户
GRANT REPLICATION SLAVE ON . TO ‘slave’@‘localhost’;
#刷新权限
FLUSH PRIVILEGES;
#查看主库状态
show master status;
4.从库配置
change master to master_host=‘主库ip’,
master_port=主库端口号,
master_user=‘主库用户名’,
master_password=‘主库密码’,
master_log_file=‘上图file’,
master_log_pos=上图position,
get_master_public_key=1;
启动:start slave
查看从库状态:show slave status
这两个字段为Yes,代表配置完成。
5.效果如下
主库插入一条数据:
从库查看:
踩坑
如果是Slave_IO_Running:No,可能是由于uuid相同,而导致异常(因为直接复制的)。
修改D:\mysql-8.0.25-slave\data\auto.cnf,把里面的server-uuid修改成不一样的值即可。重新启动从库mysql服务。