Gentos 6.8 配置mysql数据库主从同步

2019-01-03 09:55:30来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务,首先确保主从服务器上的Mysql版本相同。

一、安装部署mysql

1、 安装服务器端:yum install mysql-server

         yum install mysql-devel

  安装客户端:  yum install mysql

2、 启动服务:  service mysqld start

二、设置密码

/usr/bin/mysql_secure_installation

三、开启MySQL远程登录

登录数据库:mysql -u root -p123456    #root账号 #123456数据库密码
切换到mysql系统数据库:mysql>use mysql;
修改user表用户权限mysql>update user set host='%' where host='127.0.0.1';
重载系统权限:mysql>flush privileges; #这个一定要执行

 

开启3306远程端口权限:iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
 #查看规则是否生效
 iptables -L -n # 或者: service iptables status
 
    #此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
 iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

  可能会提示失败或者报错,其实是保存成功了的。解决方法。重启mysql服务:service mysqld restart

二、配置mysql主从同步

  准备两台测试的虚拟机,如上安装mysql环境,并开启mysql服务

  主master : 192.168.2.46

  从slave  :   192.168.227.129

1、配置主库:

   授权给从数据库服务器

mysql>GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.227.129' identified by '123456';
mysql>FLUSH PRIVILEGES;

  修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效:vim /etc/my.cnf ,在该配置文件[mysqld]下面添加下面内容:

[mysqld]
log-bin=/var/lib/mysql/binlog
server-id=1
binlog-do-db = cmdb #cmdb要同步的数据库名
binlog-ignore-db = mysql 不同步mysql库和test库
binlog-ignore-db = test datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock ...... 

  server-id:master端的ID号;

  log-bin:同步的日志路径及文件名,一定注意这个目录要是mysql有权限写入的;

  修改配置文件后,重启服务:service mysqld restart

  查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复

mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 |     106 | cmdb         |                  |
+---------------+----------+--------------+------------------+
row in set (0.00 sec)

  主服务器已配置好。

2、配置从库

  理所当然也是从配置文件着手,在/etc/my.cnf 添加下面配置:

[mysqld]
server-id=2
master-host=192.168.2.46
master-user=root
master-password=123456
master-port=3306
replicate-do-db=cmdb
......

  启动slave进程

mysql> slave start;
Query OK, 0 rows affected (0.04 sec)

  查看slave的状态,如果下面两项值为YES,则表示配置正确:show slave status\G:

 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux服务器---配置nfs

下一篇:Docker 基础入门