在Ubuntu安装配置MySQL主从复制(Master-Slave Replication)

下面安装配置MySQL (Master-Slave) Replication步骤适合Debian系Linux发型版。我使用Ubuntu 14.04为例。

使用主从数据库的好处:

  • 把主数据库备份到从数据库,它并不影响主数据库的写操作。
  • 资源敏感型操作,如数据分析,可以在从数据库上操作,从而不影响主数据库的性能。

我的使用如下安装环境:

  • 主从服务器系统都是Ubuntu
  • 主服务器IP地址:202.167.45.10
  • 从服务器IP地址:202.167.45.20
  • 主从服务器都安装使用MySQL
  • 主服务器允许远程连接(对外开放3306端口)

使用两个服务器,主服务器IP(202.167.45.10),从服务器IP(202.167.45.20)。


如果你没有安装MySQL,首先安装它,使用命令:

配置主MySQL(202.167.45.10)

编辑主MySQL的配置文件:

找到如下一段:

把IP替换为服务器IP:

下面更改server-id,它位于[mysqld]段。你可以把它的值改为任何正整数(我把它设为1),但是这个数字在MySQL主从服务器群中必须唯一,这是区别MySQL的一个标识。

取消下面一行注释并把值设置为1:

找到log_bin一行,取消注释,它是主从复制log:

最后,要设置需要复制的数据库,如果你需要复制多个数据库,重复下面这行:

改为之后,保存退出。

重启MySQL数据库:

进入MySQL命令行:

我们需要给从MySQL服务器添加权限。使用下面命令设置slave和密码:

切换到wordpress_db

为了防止改变,锁定数据库:

执行:

你会看到类似如下表:

记住Position对应的数字(107)和File(mysql-bin.000001),在配置从MySQL服务器时需要用到。

下一步使用mysqldump导出wordpress_db数据库。如果在同一个终端中使用mysqldump命令,数据库会自动解除锁定,因为这个原因,我们需要再打开一个新的终端窗口,并执行:

回到前一个终端,解锁数据库,然后退出MySQL命令行:

到这里,主MySQL配置完成。

配置从MySQL(202.167.45.20)

小憩一下,准备配置从服务器。

登录从服务器,登录MySQL:

创建需要复制的数据库:

退出:

导入从主MySQL导出的数据库:

编辑MySQL配置文件:

设置server-id,只要不和主MySQL服务器一样就行(我设置为2)。取消注释,并把值改为2:

更新如下行:

relay-log是添加的,默认并没有这一行。更改完,保存退出。

重启MySQL服务:

再次进入MySQL命令行,执行:

注意:根据你的信息替换。

激活从MySQL服务器:

使用如下命令查看详细状态:

如果你有连接问题,你可以使用如下命令启动:

到此,一个基本的MySQL主从复制配置完成。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注