win10搭建mysql主从复制(单台机器)
找了好多文章,都是多台机器,而且写的博客实在看不下去,无奈。
环境: mysql5.5
win10
主机和从机都是在win10下面的一个目录下。
另外:如果是从没有安装过mysql的可以直接参考这个,因为他是用头到尾安装的。
我的mysql是早就安装过的,所以操作步骤上有一些区别,经过摸索,算是成功。
步骤
注意!!!!!我的是早就安装过mysql的,这里就直接写我的步骤了!!!!!如果是从来没有安装过的还是请参考链接!!!!!
主库master
- 修改
my.ini配置
[client]
# 端口号,默认是3306,同一个环境下不同的mysql实例端口号不能相同
port=3306
default-character-set=utf8
[mysqld]
#主库配置
server_id=1
log_bin=master-bin
log_bin-index=master-bin.index
# 设置为自己MYSQL的安装目录
basedir="D:/Program Files (x86)/MySQL/"
# 设置为MYSQL的数据目录,data文件夹由mysql自动生成
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
-
cmd管理员身份运行,进入master的bin目录下

-
执行安装服务的命令,路径是你主库
bin的路径:
mysqld --install master --defaults-file="D:\Program Files (x86)\MySQL\my.ini"
- 修改注册表,按
win+R,在弹框中输入regedit打开注册表,找到master服务,路径是HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>Services–>master,修改ImagePath为
D:\Program Files (x86)\MySQL\bin\mysqld --defaults-file=D:\Program Files (x86)\MySQL\my.ini master

-
启动服务,依然是在bin目录下执行启动服务,命令是
net start master,启动成功后会出现如下的提示:

-
进入mysql,我这里用命令
mysql -uroot -p -P3306进入报错。

- 摸索半天,抱着尝试的心情,用
navicat连接master,结果可以!!!
navicat连接上主库之后,输入命令show master status;。

注意这里的查询出的信息,下面关联的时候要用。主库这个时候就不要动了。
从库slave
基本上也是同样的步骤,为了详细,还是写一下,我看有的博主直接一样略过。。。。结果我自己搞得时候有些参数也没改,直接拿配master去弄slave。。。。。
- 修改从库
slave的my.ini配置(主要是端口和server_id,路径):
[client]
port=3406
default-character-set=utf8
[mysqld]
#从库配置
server_id=406
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
# 设置为自己MYSQL的安装目录
basedir="D:/Program Files (x86)/MySQL 5.5-2/"
# 设置为MYSQL的数据目录
datadir="C:/ProgramData/MySQL/MySQL Server 5.5-2/Data/"
port=3406
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
-
cmd管理员身份运行,进入
slave的bin目录下

-
执行安装服务的命令,路径是你
从库bin的路径:
mysqld --install master --defaults-file="D:\Program Files (x86)\MySQL 5.5-2\my.ini"
- 修改注册表,按
win+R,在弹框中输入regedit打开注册表,找到slave服务,路径是HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>Services–>master,修改ImagePath为
D:\Program Files (x86)\MySQL 5.5-2\bin\mysqld --defaults-file=D:\Program Files (x86)\MySQL 5.5-2\my.ini slave

-
启动服务,依然是在bin目录下执行启动服务,命令是
net start slave,启动成功后同样会出现成功的提示,另外也可以在任务管理器中看见:

-
进入mysql,我这里用命令
mysql -uroot -p -P3406进入还是会报错。

- 可以看到两个库都连接上了

- 然后在从库中执行命令
# 关联主库,ip和用户,以及之前查出的主库信息全部换成你自己的就行
change master to master_host='127.0.0.1',master_port=3306,master_user='root',master_password='root',master_log_file='master-bin.000004',master_log_pos=107;
- 开启主从复制
# 开启主从复制
start slave;

- 也可以查看是否成功
show slave status

测试
经过上面两步,就完成了主从复制,测试方法在主库中创建一个数据库,刷新一下从库看看有没有相应数据库生成即可。



浙公网安备 33010602011771号