mysql主从配置,修改Centos7的firewalld规则,开放mysql的3306端口

最近研究做docker跑mysql容器 并且配置mysql主从同步。

配置文件相关配置如下

主库和从库的 my.cnf 文件要做修改 

主库:

server-id=10

log-bin=mysql-bin

从库:

            server-id=11

打开配置文件添加在最后一行即可,重启mysql服务

大家的 my.cnf 文件路径不一致,不知道的找一找吧

我的mysql配置是docker 指定的路径。

数据库相关配置如下

一  .主库相关配置

  1.master创建一个用于binlog同步日志的用户.

    CREATE USER 'slave'@'%' IDENTIFIED BY '123456';.

  2.给用户授相关同步权限

   GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

3.查看主库binlog日志当前文件及位置

    SHOW MASTER STATUS ;

 mysql主从配置,修改Centos7的firewalld规则,开放mysql的3306端口_第1张图片

二 从库相关配置

 1.配置连接主库的相关信息

CHANGE MASTER TO MASTER_HOST='数据库ip',MASTER_PORT=3307,MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000010',MASTER_LOG_POS=154;

2.启动同步进程

START SLAVE

3.查看状态 

  show PROCESSLIST

    如下图表示成功

mysql主从配置,修改Centos7的firewalld规则,开放mysql的3306端口_第2张图片

 

 

4.连接主库查看主库状态

 
   show PROCESSLIST

    如下图表示成功

mysql主从配置,修改Centos7的firewalld规则,开放mysql的3306端口_第3张图片

 5 最后链接从库查看连接主库的状态 如下图标识连接成功 。

     show slave status

mysql主从配置,修改Centos7的firewalld规则,开放mysql的3306端口_第4张图片

 

以上是最终成功的栗子。

 

下面是我配置出现的问题:

 

   1.启动salve

     start slave  

  2. 查看同步状态如下图: Slave_IO_Running是conneting 标识还在连接当中。也就是没连接上master主库
mysql主从配置,修改Centos7的firewalld规则,开放mysql的3306端口_第5张图片

3.看了docker mysql容器日志,最终排查是因为 端口受限访问不了

 

4  然后就去看了下防火墙确实是因为防火墙没有开放 主库的 3306 端口导致从库连接不了,开放端口记得重启防火墙

以下是 Centos7 防火墙的基本命令

     1  firewall-cmd --zone=public --add-port=3306/tcp --permanent    开放3306端口()

        #下面3行是参数说明 

          #–zone #作用域   

          #–add-port=80/tcp #添加端口,格式为:端口/通讯协议   

         #–permanent #永久生效,没有此参数重启后失效

      #重启防火墙后看看是否生效

     2  firewall-cmd --reload #重启firewall

     3  firewall-cmd --list-ports #查看已经开放的端口

     #如果想永久停止防火墙,执行下面操作
      systemctl stop firewalld.service         #停止firewall
      systemctl disable firewalld.service      #禁止firewall开机启动
 
     #查看防火墙状态
     firewall-cmd --state        #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

 

 

你可能感兴趣的:(mysql,mysql主从,java)