找了好多文章,都是多台机器,而且写的博客实在看不下去,无奈。
环境: mysql5.5
win10
主机和从机都是在win10下面的一个目录下。
另外:如果是从没有安装过mysql的可以直接参考这个,因为他是用头到尾安装的。
我的mysql是早就安装过的,所以操作步骤上有一些区别,经过摸索,算是成功。
注意!!!!!我的是早就安装过mysql的,这里就直接写我的步骤了!!!!!如果是从来没有安装过的还是请参考链接!!!!!
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;
。基本上也是同样的步骤,为了详细,还是写一下,我看有的博主直接一样略过。。。。结果我自己搞得时候有些参数也没改,直接拿配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
经过上面两步,就完成了主从复制,测试方法在主库中创建一个数据库,刷新一下从库看看有没有相应数据库生成即可。
参考