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

MySQL安装-主从复制(5)

时间:2020-10-06 20:04:41      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:host   ati   file   ror   slave   emc   ide   query   ast   

环境设置
1master 1slave
192.168.1.40 master
192.168.1.41 slave1
安装mysql
Yum 安装方式(2个服务器同时装)
rpm -qpl mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
技术图片
yum -y install mysql-client mysql-server

systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
技术图片
grep ‘password‘ /var/log/mysqld.log |head -n 1
mysql 主从构建
MASTER配置文件设置
Master 配置文件中开启bin-log文件,设置server-id,设置完毕重新启动mysql
[root@mysqlcluster1 ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin
server-id= 1
[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
技术图片
server-id:为主服务器A的ID值
log-bin:二进制变更日值
master上添加复制用户
授权同步用户和密码
登录mysql 数据库,新建数据库账号,赋予同步权限
mysql -uroot -p
技术图片
在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限。你不需要再赋予其它的权限。在下面的命令,把X.X.X.X替换为从服务器的IP。

  1. mysql>CREATE USER ‘user‘@ ‘X.X.X.X‘ IDENTIFIED BY ‘password‘;
  2. mysql>GRANT REPLICATION SLAVE ON . TO ‘user‘@‘X.X.X.X‘ IDENTIFIED BY ‘password‘;
    执行以下命令锁定数据库以防止写入数据。
    mysql>FLUSH TABLES WITH READ LOCK;

mysql> GRANT REPLICATION SLAVE ON . TO ‘tongbu‘@‘%‘ IDENTIFIED BY ‘P@ssw0rd‘;
技术图片
设置从库slave
Slave执行change master绑定主库
slave配置文件设置
vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin
server-id= 2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
技术图片
执行change master

  1. mysql>CHANGE MASTER TO
  2. MASTER_HOST=‘X.X.X.X‘,
  3. MASTER_USER=‘user‘,
  4. MASTER_PASSWORD=‘password‘,
  5. MASTER_PORT=3306,
  6. MASTER_LOG_FILE=‘mysql-bin.000001‘,
  7. MASTER_LOG_POS=98,
  8. MASTER_CONNECT_RETRY=10;
    MASTER_HOST:主服务器的IP。
    MASTER_USER:配置主服务器时建立的用户名
    MASTER_PASSWORD:用户密码
    MASTER_PORT:主服务器mysql端口,如果未曾修改,默认即可。

mysql> change master to master_host=‘192.168.1.51‘,
-> master_user=‘tongbu‘,
-> master_password=‘P@ssw0rd‘,
-> master_log_file=‘mysql-bin.000001‘,
-> master_log_pos=444;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
change master to master_host=‘192.168.1.51‘,master_user=‘tongbu‘,master_password=‘P@ssw0rd‘,master_log_file=‘mysql-bin.000002‘,MASTER_LOG_POS=1084;
技术图片
启动slave服务
mysql> start slave;
技术图片

测试
在master数据库服务器创建一个数据库文件
mysql> show slave status\G
技术图片
mysql> create database mysqltesting charset=utf8;
技术图片
去从数据库查看
mysql> show databases;
技术图片
查看文件内容
查看bin-log文件
mysql> show master status;
技术图片
从库是从bin-log 444之后同步
mysql-bin.000001 文件位置在/var/lib/mysql/
ll /var/lib/mysql
技术图片
bin-log文件内容
[root@mysqlcluster1 mysql]# mysqlbinlog mysql-bin.000002 |more
Bin-log文件中都是一些执行的步骤
记录了时间段及编号段内的执行的内容
技术图片
relay-log日志
技术图片
mysqlbinlog mysqlcluster2-relay-bin.000002 |more
技术图片
master.info文件
Master.info文件在slave机器上,主要记录了同步账号和密码
cat master.info
技术图片

MySQL安装-主从复制(5)

标签:host   ati   file   ror   slave   emc   ide   query   ast   

原文地址:https://blog.51cto.com/huxiaoqiu/2539788

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