1.安装mysql(可参考该博客下的安装mysql篇)windows系统下搭建java开发环境(JDK+TOMCAT+IDEA+MAEVN+MYSQL+NAVICAT+REDIS+GIT)_Mlee_codeboy的博客-优快云博客
2. 完整复制一份已经安装好的mysql目录,文件夹命名为mysql-slave
3.在mysql-slave中新建my.ini文件,如果已经有该文件则直接编辑,添加以下内容
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
port=3307
default-character-set=utf8
[mysqld]
port=3307
character_set_server=utf8
basedir="D:\environment_tools\mysql-slave"
datadir="D:\environment_tools\mysql-slave\data"
max_connections=200
default-storage-engine=INNODB
#跳过输密码的阶段 #
skip-grant-tables
4.以管理员身份打开cmd,进入到mysql-slave的bin目录下
5.初始化mysql
mysqld --defaults-file=D:\environment_tools\mysql-slave\my.ini --initialize --console
6.初始化mysql服务
mysqld install mysql2 --defaults-file="D:\environment_tools\mysql-slave\my.ini"
7.启动mysql服务 (可以直接在服务管理界面中直接启动服务),启动之后会生成一个临时密码
net start mysql2
8. 配置主库
1.停止主mysql服务,net stop MySQL
2.修改主mysql文件夹下的my.ini文件,在文件末尾添加以下内容:
#主从复制关键配置
server_id=1
log-bin=mysql-bin
binlog-do-db=childmusic #这里的值修改为自己想要进行主从复制的数据库
3.保存,之后通过net start MySQL 重启主mysql
4. 在主库中创建一个用户,该用户给从库连接使用,进入主mysql命令行,执行如下命令
grant replication slave,reload,super on . to myslave@localhost identified by '随便设置一个密码' ;
5.刷新权限
flush privileges;
6. 执行以下命令查看File 和 Position的值,并且记录下来,后续需要用到。
show master status;
9.配置从库
1.停止从mysql服务,net stop mysql2
2.修改从mysql文件夹下的my.ini文件,在文件末尾添加以下内容
#主从复制关键配置
server_id=2
replicate-do-db=childmusic #这里的值修改为自己想要进行主从复制的数据库
3.重启从mysql服务,net start mysql2 ,用root用户连接到从mysql
4.在从库中执行如下命令
change master to master_host='127.0.0.1',master_user='myslave',master_password='之前在主库中创建的用户设置的密码', master_log_file=’mysql-bin.000033’,master_log_pos=154;
5.执行以下命令查看从库状态,如果出现Slave_IO_Runing:Yes Slave_SQL_Running :yes则说明主从复制成功
show slave status\G;