码迷,mamicode.com
首页 > 数据库 > 详细

CentOS 7下的 Mysql 主从配置

时间:2016-07-06 14:59:12      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:

最近在玩mysql主从配置,在此记录一下

一、前言

  1、安装两个虚拟机(CentOS 7)。iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为主数据库,192.168.47.131作为从数据库

  2、在线安装Mysql数据库。具体安装方法请参考:

  3、在主从数据库中创建 testdb 数据库。(作为同步的数据库)

二、具体步骤

  1、主数据库(master)配置

    (1)在Master MySQL上创建一个用户‘test’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

mysql>create user test; //创建新用户
//test用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.47.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.47.0-192.168.47.255的Server都可以以test用户登陆主服务器。当然你也可以指定固定Ip。
mysql> GRANT REPLICATION SLAVE ON *.* TO test@192.168.47.% IDENTIFIED BY mysql;

    (2)修改Master MySQL的配置文件 my.cnf

[root@bogon local]# vim /etc/my.cnf
//在my.cnf 的 [mysqld]添加以下内容
server_id =1 
log-bin=mysql-bin
binlog-do-db=testdb      #允许复制的数据库名称,一行代表一个数据库
binlog-ignore-db=mysql #不复制的数据库

    (3)重启数据库,查看。

[root@bogon local]# service mysqld restart

//进入数据库
show master status;

    结果如下:

+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 699 | testdb | mysql | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

  看到file和position,记录下来,后面需要用到。分别是 mysql-bin.000001699

  2、从数据库(slave)配置

    (1)修改MySQL的配置文件 my.cnf

[root@bogon local]# vim /etc/my.cnf
//在my.cnf 的 [mysqld]添加以下内容
server_id=2
log-bin=mysql-bin
replicate-do-db=testdb
replicate-ignore-db=mysql

    (2)重启数据库 命令:service mysqld restart。登录数据库。

mysql> stop slave;  #关闭slave同步进程
mysql> change master to master_host=192.168.47.133,master_user=test,master_password=mysql,master_log_file=mysql-bin.000001,master_log_pos=699;
mysql> start slave; #启动slave同步
mysql> show slave status; #查看状态

    注意slave_io_running:yesslave_sql_running:yes 说明能正常同步了。

  3、测试。

    (1)在主服务器中 testdb 创建 t_user 表,并插入一条数据。

CREATE TABLE t_user(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(50),
    age INT
)

INSERT INTO t_user (NAME,age) VALUES (test,21);

    (2)在从服务器中的 testdb 查看是否存在 t_user 表,并且是否有相应的数据。

SELECT * FROM t_user;

    从数据库中存在 t_user 表 ,并且有相应的数据。说明mysql主从配置已经成功了。

 

CentOS 7下的 Mysql 主从配置

标签:

原文地址:http://www.cnblogs.com/jerrylz/p/5646741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!