mysql主从控制_mysql主从复制

环境准备:

1.master:192.168.60.104 mysql 3306

2.slave: 192.168.60.105 mysql 3306

注意:需要确保mysql版本一直。

步骤:

一、配置master上mysql的my.ini

在[mysqld] 中增加如下代码:

server-id=1 #给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号

log-bin=mysql-bin

log-bin-index=master-bin.index

添加完毕后通过控制台停止和重启mysql服务

打开控制台输入mysql -u root -p  回车(如果没有添加mysql的环境变量,那么在在环境变量的地方将Mysql的安装地址加进去即可,注意的是;一定要有),输入密码如果返回如下图,则成功

mysql主从控制_mysql主从复制_第1张图片

如果返回的是如下图的错误提示,则运行mysqladmin -uroot password root这个命令,然后重新登录,应该就可以解决那个问题了。

a2b5f2f7f2de4d335b1267f6506e7f4d.png

然后我们通过命令进行mysql服务的停用和重启操作

停用服务  net stop mysqlse

重启服务 net start mysqlse

在控制台输入show variables like 'server_id'; 回车,确认一下我们更改的server_id是否是1

mysql主从控制_mysql主从复制_第2张图片

在控制台输入show master status; 回车,将查询的东西我们记录下 File 和 Position的值,在设置从库的时候将会用到

mysql主从控制_mysql主从复制_第3张图片

二、配置slave的my.ini

在[mysqld] 中增加如下代码:

server-id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

设置完毕后然后保存,具体操作和主库一致,也就是停止和重启服务,

将这些操作全部做完之后再执行一个命令 stop slave

2c67800b1c09899bdcd3f29b6445d9c8.png

将我们刚才记录的主库 File 和 Position的值

master-bin.000003和107复制到下面这段代码中进行替换

1 change master to master_host='192.168.60.104',2 master_port=3306,3 master_user='root',4 master_password='123456',5 master_log_file='master-bin.000002',6 master_log_pos=107;

替换完毕后,复制到控制台并执行,如果执行成功这回返回Query Ok,0 rows affected  巴拉巴拉之类的话,

然后重启slave,在控制台执行 start slave;启动成功后,在控制台执行show slave status\G; 查看一下slave的运行状态,如果全部设置成功,那么

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

如图所示:

mysql主从控制_mysql主从复制_第4张图片

如果失败,则根据提示进行更改。

测试就不说了。

你可能感兴趣的:(mysql主从控制)