一篇文章,教你搞定 MySQL 主从复制。
CentOS7 下安装 MySQL
1 |
|
至此,就算安装完毕。刚安装上 MySQL 时,是没有密码的,所以运行第 5 个命令之后,直接回车,就能进入到 MySQL 界面,如图,即表示成功
MySQL 修改密码
没有密码就能进入 MySQL ,安全性肯定是不能保证的,所以接下来介绍一下,如何修改密码。运行以下命令即可(这里以将密码改为 root 为例):
1 |
|
检测密码是否成功,重新进入 MySQL :
1 |
|
输入root之后,能看到如下界面,即为成功:
MySQL搭建主从复制
写在前面:搭建主从复制的前提是,都安装好了 MySQL 。这篇文章以 192.168.243.133 为主,192.168.243.132 为从为例,来演示搭建过程。同时请注意,MySQL 密码为 root 1,133 为主,132 为从,从 133 上面,进入 MySQL 给 132 授权:
1 |
|
1 |
|
成功效果如图:
2,开启 133 的 binarylog
MySQL Binary Log 也就是常说的 bin-log ,是 mysql 执行改动产生的二进制日志文件,其主要作用有两个:
- 数据恢复
- 主从数据库。用于 slave 端执行增删改,保持与 master 同步。
1 |
|
具体如图:
进入 mysql ,查看 binary 是否开启成功:
3,在 133 和 132 上面分别创建数据库。此处以 401_test (如果数据库和我的不同,则主从的 my.cnf 上面相对应的数据库名称都要更改)为例
1 |
|
4,编辑 132 的 my.cnf 文件:
1 |
|
与 133 稍微有些不同,请注意。效果如图:
5,查看 133 的 binary 日志位置,这在后续配置 132 时会用到。
连接 MySQL ,使用命令查看 binary :
1 |
|
1 |
|
6,开启 132 的同步: 在 132 上面运行以下命令:
1 |
|
具体如图:
1 |
|
7,查看 132 的 slave 线程是否开启:
1 |
|
Slave_IO_Running为读取master的binaryLog的线程
Slave_SQL_Running为执行SQL的线程
这两个线程必须都为YES才可以实现主从复制
至此主从复制就搭建完了。
MySQL搭建互为主从
在以上配置的基础之上,将 132 作为 master , 133 作为 slave 进行再次配置。 1,在 132 上面连接 MySQL 之后,为 133 授权
1 |
|
2,查看 132 的 binarylog
1 |
|
3,开启 133 的同步(这里的步骤和 132 配置相同,我就不在这里展示了,如果忘记了,可以往上面再翻翻看)
4,查看 133 slave 的状态:
1 |
|
可能出现的错误:
解决办法:
出现上图的错误就先将 slave 停掉,再操作一遍,使用命令: STOP SLAVE ,(此处命令必须为大写)
开启完同步之后需要打开 slave ,使用命令: START SLAVE (此处命令必须为大写)。
至此,搭建互为主从复制结束。
常用到的命令
在这个过程中有几个命令是常用到的,来总结一下(#后面为注释内容):
1 |
|
感谢您的阅读。