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
测试
经过上面两步,就完成了主从复制,测试方法在主库中创建一个数据库,刷新一下从库看看有没有相应数据库生成即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构