• ADADADADAD

    设置MySQL服务器之间设置Master-Master复制的方法[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 10:30:25

    作者:文/会员上传

    简介:

    在此设置中,如果在任一服务器上进行的任何更改将都在另一台服务器上更新。设置细节:Master-1: 192.168.1.15Master-2: 192.168.1.16Database: mydb步骤1:设置MySQL Master-1服

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在此设置中,如果在任一服务器上进行的任何更改将都在另一台服务器上更新。

    设置细节:

    Master-1: 192.168.1.15Master-2: 192.168.1.16Database: mydb

    步骤1:设置MySQL Master-1服务器

    编辑MySQL配置文件并在[mysqld]部分下添加以下代码。

    # vim /etc/my.cnf
    [mysqld]log-bin=mysql-binbinlog-do-db=mydbserver-id=1

    重启MySQL服务器以使更改生效。

    # service mysqld restart

    在Master-1服务器上创建一个具有REPLICATION SLAVE权限的mysql帐户,复制客户端将连接到master。

    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'secretpassword';mysql> FLUSH PRIVILEGES;

    所有表上都有block write语句,因此备份后不能进行任何更改。

    mysql> use mydb;mysql> FLUSH TABLES WITH READ LOCK;

    使用以下命令检查当前二进制日志文件名(File)和当前偏移量(Position)值。

    mysql> SHOW MASTER STATUS;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000003 |332 | mydb ||+------------------+----------+--------------+------------------+1 row in set (0.00 sec)

    上面的输出显示当前的二进制文件使用的是mysql-bin.000003,偏移值为332。记下这些值,以便在下一步中在master-2服务器上使用。

    备份数据库并将其复制到另一个mysql服务器。

    # mysqldump -u root -p mydb > mydb.sql# scp mydb.sql 192.168.1.16:/opt/

    完成备份后,从表中删除READ LOCK,以便进行更改。

    mysql> UNLOCK TABLES;

    步骤2:设置MySQL Master-2服务器

    编辑mysql Master-2配置文件并在[mysqld]部分下添加以下值。

    #vim /etc/my.cnf[mysqld] log-bin = mysql-bin binlog-do-db = mydb server-id = 1

    server-id始终为非零数值。这些值永远不会与其他主服务器或从服务器相似。

    重启MySQL服务器,如果已配置复制,请在启动时使用-skip-slave-start,不要立即连接到主服务器。

    #service mysqld restart

    恢复从主服务器获取的数据库备份。

    #mysql -u root -p mydb </opt/mydb.sql

    在Master-1服务器上创建一个具有REPLICATION SLAVE权限的mysql帐户,复制客户端将连接到master。

    mysql> GRANT REPLICATION SLAVE ON *.*''repl_user'@'%'IDENTIFIED BY'secretpassword'; mysql> FLUSH PRIVILEGES;

    使用以下命令检查当前二进制日志文件名(File)和当前偏移量(Position)值。

    mysql > SHOW MASTER STATUS;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000001 |847 | mydb ||+------------------+----------+--------------+------------------+1 row in set (0.00 sec)

    上面的输出显示当前二进制文件使用mysql-bin.000001,偏移值为847。记下这些值以在步骤3中使用。

    使用以下命令在从属服务器上设置选项值。

    mysql> CHANGE MASTER TO MASTER_HOST ='192.168.1.15',- > MASTER_USER ='repl_user',- > MASTER_PASSWORD ='secretpassword',- > MASTER_LOG_FILE ='mysql-bin.000003',- > MASTER_LOG_POS = 332;

    步骤3:完成MySQL Master-1的安装

    登录MySQL Master-1服务器并执行以下命令。

    mysql> CHANGE MASTER TO MASTER_HOST ='192.168.1.16', MASTER_USER ='repl_user', MASTER_PASSWORD ='secretpassword', MASTER_LOG_FILE ='mysql-bin.000001', MASTER_LOG_POS = 847;


    步骤4:在两台服务器上启动SLAVE

    在两台服务器上执行以下命令以启动复制从属进程。

    mysql> SLAVE START;

    MySQL Master-Master Replication已在您的系统和工作模式下成功配置。要测试复制是否正常,请在任一服务器上进行更改,并检查更改是否反映在其他服务器上。

    设置MySQL服务器之间设置Master-Master复制的方法.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlstte