MySQL主从关系设置

 

来源:LAMP兄弟连 作者:李恺 http://www.lampbrother.net/php/bencandy.php?fid=70&id=635


    要做MySQL主从关系的设置,那么就得有两台MySQL主机。所以在开始之前准备两个MySQL服务器,可以是自己装的虚拟机也可以是其他的..反正有两台MySQL主机就行了。

    1 主服务器Master    

    首先打开你主的MySQL服务器的配置文件my.ini,一般都在MySQL安装目录下,记得先备份以下原来的配置文件。然后找个合适的地方加入下面的代码,比如配置文件最下面:

1 Server-id=1
2 log-bin=mysql-bin
3 Binlog-do-db=test
4 Binlog-ignore-db=mysql

    然后来解释下上面的这些配置的含义,注意上面这几项配置,如果在配置文件中已经存在就不用添加了。
        Server-id 顾名思义就是服务器id了
        log-bin 
        Binlog-do-db 是你需要备份的数据库名称,可以有多个用“,”分开,比如test1,test2
        Binlog-ignore-db 是不需要备份的数据库名称,也可以有多个用“,”分开
1 Grant usage on *.* to 'slave'@'192.%' identfied by 'slave'

     OK,主服务器配置完了,然后添加一个用户,用于从服务器访问。
    上面这段就是添加一个用户了。@前面的slave是用户名,后面的是有效的域,192.%也就是说以192开头的任意IP都能使用这个帐号访问这台MySQL服务器,你也可以设置成固定的比如192.168.1.1。然后by面的slave是密码。
    好了现在主服务器配置好了,就来配置从服务器。
    

    2 从服务器Slave

    打开从服务器的配置文件my.ini,同样找个合适的地方加入下面的代码:

1 # Slave Config
2 Server-id=2
3 Master-host=192.168.1.100
4 Master-port=3306
5 Master-user=slave
6 Master-password=slave
7 Replicate-do-db=test

    下面来解释下:
        Server-id 不说了和上面一样
        Master-host 是主服务器的IP地址
        Master-port 主服务器的端口
        Master-user 用于和主服务器同步数据的用户名,我们在配置主服务器已经添加了就是slave
        Master-password 当然就是密码了
        Replicate-do-db 就是要备份的数据库名称
    注意,默认就有一个server-id=1的配置,需要注释掉。
    主从服务器都配置好了,然后重启两台服务器。
    


    然后登录到从服务器,执行以下命令,查看从服务器的配置是否正确。

1 Show slave status\G;

    执行后会显示很多东西, 然后找到下面这两项:
        Slave_IO_Running: Yes
        Slave_SQL_Running: Yes 
    如果两项都是Yes那么就配置成功了。
    接着执行命令:
1 Load data from master;

    这个命令就是说载入数据从主服务器。
    好了,现在我们配置什么的都做完了,开始创建数据库,看看MySQL是否自动同步了数据。
    创建表test
1 Create database test;

    选择表test
1 Use test;

    创建表user
1 Create table user(name varchar(50));

    插入一条记录
1 Inster into user (name) value ('xiaokai');

    然后我们登录到从服务器
1 Mysql -uroot -h192.168.1.101

    +----+---------+
    | id | name    |
    +----+-------- +
    |  1 | xiaokai | 
    +----+---------+
    1 rows in set (0.01 sec)
    很明显我们在主服务器插入的数据在从服务器上也有了。
    如果你执行后也有同样的效果,那么恭喜你成功了。你学会了MySQL主从服务器的设置。
    最后,小凯给大家的建议就是多动手,毕竟代码是敲出来的嘛!

LAMP兄弟连资讯,转载请注明出处!本文只代表作者个人观点不代表LAMP兄弟连观点!如相关单位或相关个人发现问题,请直接与我们联系400-700-1307。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 中,移除主从关系通常意味着你要将一台从服务器(slave)与其主服务器(master)断开连接,使其不再作为一个复制源。以下是移除主从关系的一般步骤: 1. **停止从服务器**: - 在从服务器上,使用 `mysqladmin` 或者 `mysql` 命令行工具停止复制服务,如: ``` mysqladmin -u [username] -p stop slave ``` - 如果需要确认已停止复制,你可以查看 `SHOW SLAVE STATUS\G` 命令的结果。 2. **删除或重命名复制相关设置**: - 删除从服务器的 `MASTER_*` 设置,如 `CHANGE MASTER TO` 或 `STOP SLAVE`。 - 如果是使用 `InnoDB` 表,可能还需要运行 `FLUSH TABLES WITH READ LOCK` 和 `UNLOCK TABLES` 来释放锁定。 3. **解除主键约束**: - 如果你想保留从服务器的数据,可能需要先从主服务器导出数据,然后在从服务器上重建复制关系。 4. **清理相关文件**: - 如果不需要保留从服务器作为备份,你可以删除 `/etc/mysql/conf.d/replication.cnf` 或其他包含复制配置的文件。 5. **更新主服务器的二进制日志**: - 在主服务器上,更新二进制日志位置,以防止从服务器尝试恢复复制。 6. **重启数据库服务**: - 在从服务器上重启 MySQL 服务,使之恢复正常模式。 完成以上步骤后,从服务器就不再是从主服务器的复制源了。但要注意,这并不意味着你已经完全移除了主从关系,只是处于暂停状态。如果你希望永久地关闭从服务器并保留其作为独立服务器,可能需要进一步的操作,例如删除复制相关表空间等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值