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

时间:2023-03-08 23:14:42
Centos 6.8 配置mysql数据库主从同步

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

一、安装部署mysql

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

         yum install mysql-devel

  安装客户端:  yum install mysql

、 启动服务:  service mysqld start

二、设置密码

/usr/bin/mysql_secure_installation

三、开启MySQL远程登录

登录数据库:mysql -u root -p123456    #root账号 #123456数据库密码
切换到mysql系统数据库:use mysql;
修改user表用户权限:update user set host='%' where host='127.0.0.1'; grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges;
重载系统权限:flush privileges; #这个一定要执行
开启3306远程端口权限:iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport  -j ACCEPT
  
查看规则是否生效:iptables -L -n 或者 :service iptables status 重启mysql服务:service mysqld restart

二、配置mysql主从同步

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

  主master : 192.168.2.46

  从slave  :   192.168.227.129

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

[mysqld]
log-bin=/var/lib/mysql/binlog
server-id=
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. | | cmdb | |
+---------------+----------+--------------+------------------+
row in set (0.00 sec)
创建需要同步的数据库:create database cmdb default charset utf8;

  主服务器已配置好。

2、配置从库

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

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

  启动slave进程

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

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

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

 

change master to master_host='172.24.254.104', master_user='dshbroot', master_password='Dszc@20190923',master_log_file='binlog.000002', master_log_pos=;

 grant replication slave on *.* to 'dshbroot'@'localhost' identified by 'Dszc@20190923';