windows10下按照mysql主从复制
一:下载MySQL文件。
二:创建主数据库
把文件:mysql-5.7.25-winx64.zip 解压。创建data文件夹,和my.ini文件。
my.ini文件:
1 [mysqld] 2 # 以下内容手动添加 3 [client] 4 port=3307 5 default-character-set=utf8 6 [mysqld] 7 #主库配置 8 server_id=1 9 log_bin=master-bin 10 log_bin-index=master-bin.index 11 12 # 跳过密码 13 # skip-grant-tables 14 15 #端口 16 port=3307 17 character_set_server=utf8 18 #解压目录 19 basedir=D:\usr\mysql5.7.25\master 20 #解压目录下data目录 21 datadir=D:\usr\mysql5.7.25\master\data 22 23 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 24 [WinMySQLAdmin] 25 D:\usr\mysql5.7.25\master\bin\mysqld.exe
三:启动
先设置没有密码的。登录进MySQL后,再修改密码
1 sc delete slave; 删除MySQL服务
2 mysqld --install master --defaults-file="D:\usr\mysql5.7.25\master\my.ini" 创建MySQL服务:服务名:master
3 net start master 启动服务
4 net stop master 停止服务
四:修改密码
进入到mysql数据库中。
如果没有mysql数据库,导入
source e:/mysql.sql
1 update user set authentication_string=password(“newpassword“) where user=”root”;
然后再重新启动服务。登录进mysql中。 大写的P后面是端口 小写的后面是密码
登录:mysql -uroot -P3307 -p123456
五:主从关联
master的mysql 执行命令 show master status
查看master的状态
slave的mysql 执行命令 show slave status\G
查看slave的状态
我们可以发现 ,master的状态下,生成了一个二进制的日志文件,而slave下是空的,所以我们现在就要把主库与从库关联起来。只需要让从库(slave)知道主库(master)的地址就可以了。
首先我们需要在主库(master)中创建一个用户用于与从库同步的用户名和密码(这里我创建一个masterUser用户,密码为mysql),并给masterUser用户授权,以用于主库操作从库。
1 create user masterUser; 2 grant replication slave on *.* to 'masterUser'@'127.0.0.1'identified by 'mysql'; 3 flush privileges;
在从数据库中:
1 change master to master_host='127.0.0.1',master_port=3307,master_user='masterUser',master_password='mysql',master_log_file='master-bin.000008',master_log_pos=0;
然后执行命令 start slave;
开启主从同步