centos 6.7配置mysql_CentOS6.7 mysql 主从配置

Mysql主服务器:

系统:CentOS 6.7(192.168.171.51)

主机名:balichvm.org

MySQL版本:5.6.26

Mysql主服务器:

系统:CentOS 6.7(192.168.171.50)

主机名:balichos.org

MySQL版本:5.6.26

配置主从前的准备:

1)、关闭selinux

vim /etc/sysconfig/selinux

#SELINUX=enforcing     #注释掉

#SELINUXTYPE=targeted  #注释掉

SELINUX=disabled  #增加

保存配置文件  :wq,然后重启系统,或者临时关闭:setenforce 0

2)、配置iptables,开启mysql默认的3306端口

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT

然后重启服务,使之生效。 /etc/init.d/iptables restart

配置主从步骤:

(1)分别把需要同步的数据库导入到主数据库(balichvm.org)和从数据库(balichos.org),因为做主从需要主从数据库的实例相同。这里是mbbalichdb。

主数据库:

mysql -u root –p           #进入数据库的控制台

CREATE DATABASE mbalichdb;            #创建mbalichdb数据库

use mbalichdb;                 #进入数据库

source /root/mbalich.sql                   #还原数据库(导入备份文件到数据库)

从数据库:

mysql -u root –p             #进入数据库的控制台

CREATE DATABASE mbalichdb;       #创建mbalichdb数据库

use mbalichdb;         #进入数据库

source /root/mbalich.sql               #还原数据库(导入备份文件到数据库)

(2)分别在主数据库和从数据库上修改配置文件

主数据库:

vim /usr/local/mysql/my.cnf

server_id=1     #需要唯一,要小于从数据库;如果有就不需要添加了

log-bin=mysql-bin                       #开启mysql二进制日志系统

binlog-do-db=mbalichdb                    #需要同步的数据库

binlog-ignore-db=mysql                     #不需要同步的数据库

保存配置文件,退出。然后重启mysql服务

/etc/init.d/mysqld restart

重新登录到Mysql控制台,为从数据库建立一个主从复制的帐号。

grant replication slave on *.* to'repl'@'192.168.171.50' identified by 'replbak.';

同时执行如下操作:

mysql> flush tables with read lock;               #锁住表,只可以读

Query OK, 0 rows affected (0.61 sec)

mysql> show master status;            #查看当前的状态,前两列需要用到

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB |Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      331 | mbalichdb    | mysql           |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.06 sec)

从数据库:

vim /usr/local/mysql/my.cnf

server-id=2                             #需要唯一,

log-bin=mysql-bin                    #开启mysql二进制日志系统

replicate-do-db=mbalichdb               #需要同步的数据库

replicate-ignore-db=mysql                #不需要同步的数据库

保存配置文件,退出。然后重启mysql服务

/etc/init.d/mysqld restart

(3)在从服务器上配置主从同步

重启mysql服务后,再次进入mysql控制台,执行mysql主从同步。

mysql -u root –p       #进入mysql控制台

stop slave;                 #停止主从同步

mysql> change master to

master_host='192.168.171.51',

master_user='repl',

master_password='replbak.',

master_port=3306,

master_log_file='mysql-bin.000001',

master_log_pos=331;

上面的一条语句是主从同步的。

start slave;                #开启主从同步。

mysql> show slave status\G;           #查看主从是否同步

*************************** 1. row***************************

Slave_IO_State: Connecting tomaster

Master_Host: 192.168.171.51

Master_User: repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 331

Relay_Log_File:balichOS-relay-bin.000001

Relay_Log_Pos: 4

Relay_Master_Log_File: mysql-bin.000001

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: mbalichdb

Replicate_Ignore_DB: mysql

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 331

Relay_Log_Space: 120

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 1045

Last_IO_Error: error connectingto master 'repl@192.168.171.51:3306' - retry-time: 60  retries: 2

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 0

Master_UUID:

Master_Info_File: /data/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for theslave I/O thread to update it

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp: 151110 04:51:06

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

1 row in set (0.00 sec)

注意查看:Slave_IO_Running: Yes和Slave_SQL_Running: Yes

两个都是yes。

(4)测试主从同步

主数据库:

unlock tables;           #表解锁

mysql> use mbalichdb ;                      #切换数据库

Database changed

mysql> show tables;                           #查看当前数据库的表

+-----------------------+

| Tables_in_mbalichdb   |

+-----------------------+

| wp_commentmeta        |

| wp_comments           |

| wp_links              |

| wp_options            |

| wp_postmeta           |

| wp_posts              |

| wp_term_relationships |

| wp_term_taxonomy      |

| wp_terms              |

| wp_usermeta           |

| wp_users              |

+-----------------------+

11 rows in set (0.03 sec)

mysql>

mysql> create table wp_33(id int notnull primary key, name char(20));      #创建一张表。

从数据库:

mysql -u root –p                #登录到控制台

mysql> use mbalichdb;             #进入mbalichdb数据库

mysql> show tables;

+-----------------------+

| Tables_in_mbalichdb   |

+-----------------------+

| wp_33                 |

| wp_commentmeta        |

| wp_comments           |

| wp_links              |

| wp_options            |

| wp_postmeta           |

| wp_posts              |

| wp_term_relationships |

| wp_term_taxonomy      |

| wp_terms              |

| wp_usermeta           |

| wp_users              |

+-----------------------+

12 rows in set (0.00 sec)

在从数据库上有我们刚刚创建的wp_33表,说明可以同步了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值