1:安装mysql5.5数据库

规划:

主:server-1---10.64.5.167

从:server-2---10.64.5.170

从:server-3---10.64.5.172

数据目录:/var/lib/mysql

下载mysql5.5

#wget   http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-client-5.5.46-1.el7.x86_64.rpm
#wget   http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-server-5.5.46-1.el7.x86_64.rpm

安装

#rpm -ivh    MySQL-server-5.5.46-1.el7.x86_64.rpm
#rpm -ivh    MySQL-client-5.5.46-1.el7.x86_64.rpm

拷贝配置文件

#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

自启动:

#systemctl enable mysqld

2:配置mysql主库

主:server-1 10.64.5.167

(1)配置创建需要同步的数据库cattle。

#mysql
mysql>CREATEDATABASE IF NOT EXISTS cattle COLLATE='utf8_general_ci' CHARACTER SET='utf8';
mysql>GRANT ALL ON cattle.*TO 'cattle'@'%' IDENTIFIED BY 'cattle';
mysql>GRANT ALL ON cattle.*TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';

(2)创建用户

mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO slave1@'10.64.5.170' IDENTIFIED BY '123456';
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO slave2@'10.64.5.172' IDENTIFIED BY '123456';
mysql> flush  privileges;

(3)配置文件

#vim /etc/my.cnf
添加
server-id = 1
log-bin=mysql-bin
log-slave-updatesbinlog-do-db=cattle
binlog-ignore-db=mysql

重启mysql

(4)锁主库表

mysql> FLUSH TABLES WITH READ LOCK;

(4)显示主库信息

mysql> SHOW MASTER STATUS;

(5)另开一个终端,打包主库

#cd /var/lib/mysql
#tar czvf  cattle.tar.gz cattle

(6)解锁主库表

mysql> UNLOCK TABLES;

3:配置mysql从库

从:server-2 10.64.5.170

从:server-3 10.64.5.172

(1)将cattle.tar.gz 传输到slav机器

#mv cattle.tar.gz /var/lib/mysql/
#cd /var/lib/mysql/
#tar xf cattle.tar.gz

(2)查看修改cattle文件夹权限

#chown -R mysql:mysql cattle

(3)配置文件

#vim /etc/my.cnf
------------server-2 添加
server-id =2
log_bin  = mysql-bin
relay_log  = mysql-relay-bin
read-only=1
replicate-do-db=cattle
log-slave-updates=1
------------server-3 添加
server-id =3
log_bin  = mysql-bin
relay_log  = mysql-relay-bin
read-only=1
replicate-do-db=cattle
log-slave-updates=1

重启slave的mysql

(4)验证连接

从库server-2上测试连接主库

#mysql -h10.64.5.167 -uslave1 -p123456
mysql> show grants for slave1@10.64.5.170;

从库server-3上测试连接主库

# mysql -h10.64.5.167 -uslave2 -p123456
mysql> show grants for slave2@10.64.5.172;

(5)设置slave复制

查询master的position值

mysql> SHOW  MASTER STATUS\G;
*************************** 1. row ***************************File: mysql-bin.000001Position: 120Binlog_Do_DB: cattle
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
ERROR:
No query specified
server-2配置
mysql>CHANGE MASTER TO MASTER_HOST='10.64.5.167',
-> MASTER_USER='slave1',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=120;     -------MASTER_LOG_POS为主库的Position
server-3配置
mysql>CHANGE MASTER TO MASTER_HOST='10.64.5.167',
-> MASTER_USER='slave2',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=120;

(6)slave启动

mysql> START SLAVE;
Query OK, 0 rows affected, 1 warning (0.00 sec)

运行SHOW SLAVE STATUS查看输出结果:

主要查看

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 10.64.5.167Master_User: slave1Master_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 120Relay_Log_File: mysql-relay-bin.000002Relay_Log_Pos: 178995708Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: cattleReplicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 178995562Relay_Log_Space: 178995864Until_Condition: NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error: Last_SQL_Errno: 0Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1
1 row in set (0.00 sec)

验证master

mysql> SHOW  PROCESSLIST\G;
*************************** 1. row ***************************Id: 14User: system userHost: db: NULL
Command: ConnectTime: 63424State: Connecting to masterInfo: NULL
*************************** 2. row ***************************Id: 15User: system userHost: db: NULL
Command: ConnectTime: 63424State: Slave has read all relay log; waiting for the slave I/O thread to update itInfo: NULL
*************************** 3. row ***************************Id: 25User: slave1Host: 10.64.5.170:47139db: NULL
Command: Binlog DumpTime: 62967State: Master has sent all binlog to slave; waiting for binlog to be updatedInfo: NULL
*************************** 4. row ***************************Id: 244User: slave2Host: 10.64.5.172:45629db: NULL
Command: Binlog DumpTime: 53898State: Master has sent all binlog to slave; waiting for binlog to be updatedInfo: NULL
16 rows in set (0.00 sec)
ERROR:
No query specified

4:验证主从同步

在主库server-1中创建一个表

mysql> USE cattle;
Database changed
mysql> CREATE TABLE `test` (`name`  varchar(10) NULL ,`old`  char(10) NULL );
Query OK, 0 rows affected (0.00 sec)
mysql> DESC test;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(10) | YES  |     | NULL    |       |
| old   | char(10)    | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

从库查询是否有这个新表

mysql> USE cattle;
Database changed
mysql> DESC test;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(10) | YES  |     | NULL    |       |
| old   | char(10)    | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

至此,mysql的主从复制完成。

转载于:https://blog.51cto.com/heqin/1712629

Centos7下配置安装mysql5.5主从复制(一主两从)相关推荐

  1. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  2. centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6

    本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...

  3. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一.         实践环境... 1 二.         安装操作系统... 1 三.       ...

  4. CentOS7网络配置,安装jdk,tomcat和mysql全过程

    CentOS7网络配置,安装jdk,tomcat和mysql全过程 1.CentOS7网络配置 安装CentOS7要在VMware虚拟机上进行,设置密码后登陆进来,可以看见右下角有下面几个图标,右击网 ...

  5. CentOS7卸载及安装MySQL5.7

    CentOS7卸载及安装MySQL5.7(笔记) 前言 一.卸载 二.安装 总结 前言 因之前安装的MySQL数据库有问题,现在需要卸载重新安装,因此记录一下卸载及安装步骤 服务器版本:Centos7 ...

  6. centos yum mysql-devel 5.5_CentOS 6.5下yum安装 MySQL-5.5全过程图文教程

    在linux安装mysql是一个困难的事情,yum安装一般是安装的mysql5.1,现在经过自己不懈努力终于能用yum安装mysql5.5了.下面通过两种方法给大家介绍CentOS 6.5下yum安装 ...

  7. linux tomcat 安装教程,关于Linux下配置安装Tomcat8的步骤

    由于Centos6即将停止更新,本次就使用Centos7.5 X64位系统来演示,Tomcat版本就使用8.5,如果想使用9.0的版本也可以去官网进行下载,步骤都大同小异. 关于Tomcat9的新特性 ...

  8. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

  9. linux7安装pgsql数据库,CentOS7下PostgreSQL安装

    环境:CentOS 7 版本:postgresql11 安装repo源 yum install https://download.postgresql.org/pub/repos/yum/reporp ...

最新文章

  1. Java项目:在线旅游系统(java+jsp+SSM+Spring+mysql+maven)
  2. 知识图谱query与文本相似性如何处理
  3. 16岁开宝马,19岁创立自己的电脑公司,戴尔传奇
  4. 限制用户对页的访问php,如何限制对Django中管理页的访问?
  5. 用python做数据分析,安装包一次到位
  6. 江苏省高等学校计算机一级成绩查询,江苏计算机一级考试成绩查询
  7. python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)...
  8. C#LeetCode刷题之#66-加一(Plus One)
  9. 运行错误代码_Win7系统提示错误代码0xc0000135应该如何解决?
  10. matlab机械臂工作空间代码_ROS中机械臂笛卡尔空间规划姿态求解无效-Moveit!
  11. iZotope Trash 2 for Mac(失真效果音频插件)
  12. [LeetCode]Palindrome Number 推断二进制和十进制是否为回文
  13. 百度智能云在AI云服务市场四度夺魁!
  14. 解决报错Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven
  15. 手机开发者选项各项参数意义
  16. 生产者-消费者-管程法(java代码示例)
  17. unity 3d 原创制作射击游戏(一)
  18. python云计算好学吗_没有基础,可以学云计算专业吗,学起来是不是很难,?
  19. 运用Python进行TOPSIS综合评价方法
  20. 图解机器学习(部分)

热门文章

  1. linux修改key文件夹,linux 中如何根据xml文件的key来修改value呢?
  2. php ajax 长轮询 表单,Thinkphp结合AJAX长轮询实现PC与APP推送详解
  3. C语言丨线性查找(顺序查找)
  4. 数据结构专题(一):1.1顺序表初始化
  5. 验证码_12306验证码很难吗?2020年最新的Python验证码模块开源
  6. 马超计算机博士,湖南大学设计院马超民等博士生团队发明“手势”控制汽车
  7. mysql jdbc 驱动名称_【经验分享】常用 JDBC 驱动名字和 URL 列表
  8. nodejs 前端 返回数组给_互联网寒冬,一年经验字节跳动、虾皮、快手、拼多多前端面试总结...
  9. 大班音乐机器人反思_幼儿园大班音乐律动教案《伦敦桥》含反思
  10. Spring Security login