MySQL数据库主从同步安装与配置总结

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
  MySQL的主从同步是一个很成熟的架构,优点为:
  ①在从服务器可以执行查询 工作(即我们常说的读功能),降低主服务器压力;
  ②在从主服务器进行备份,避免备份期间影响主服务器服务;
  ③当主服务器出现问题时,可以切换到从服务器。
  所以我在项目部署和实施中经常会采用这种方案.
  +  数据库目录及其它
  my.cnf配置文件     /etc/my.cnf
  mysql数据库位置    datadir=/var/lib/mysql
  主数据库:192.168.2.119
  从数据库:192.168.2.220
   操作系统:RHEL5.x 32位
  服务器类型: 虚拟机
   + mysql5.0.77 安装:
  ① 配置好linux的yum服务后,直接yum -y install mysql即可
  附:安装php\mysql一条命令安装:yum -y install httpd php mysql mysql-server php-mysql
  ② 启动MySQL
  service mysqld start(restart|stop)
   一、设置主库
  1、修改主库my.cnf,主要是设置个不一样的id和logbin(#这部可依具体环境而定,压力大的化可采用huge.cnf)
  [root@localhost etc]#vi /etc/my.cnf
  # 记住这部分一定要配置在[mysqld]后面,否则无法找到从节点,各个配置项的含义可自己查阅文档
[mysqld]
log-bin=mysql-bin
server-id=1
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
  2、启动主库生效
  [root@localhost etc]service mysqld restart
  3、登陆主库
  [root@localhost etc]mysql -u root -p
  4、赋予从库权限帐号,允许用户在主库上读取日志
  mysql> grant all privileges on *.* to '用户名'@'%' identified by '密码';
  5、检查创建是否成功
  select user,host from mysql.user;
  6、锁主库表
  mysql> flush tables with read lock; 7、显示主库信息
  记录File和Position,从库设置将会用到
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 98   |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
# 说明,如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。
  8、另开一个终端登陆220,打包主库迁移数据(如果你使用的yum安装,有默认数据库并未做任何改动,则不需要进行拷贝)
  目的是为了保证两台服务器的mysql数据库一致,这里可以自行tar打包或者使用mysqldump命令备份恢复的方式进行。
   二、设置从库
  1、传输拿到主库包、解包
  # 登陆从库
  从上一步中备份的数据库恢复到220服务器节点上。
  2、在119节点上解锁主库表(对应第一点设置主库中第6步锁主库表的操作)
  mysql> unlock tables;
  3、在220节点上修改从库my.cnf(位置一样)
  # 记住这部分一定要配置在[mysqld]后面,否则无法找到从节点,各个配置项的含义可自己查阅文档
[mysqld]
log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60
master-host=192.168.2.119
master-user=root
master-password=pfingo
  4、在220节点上验证连接主库
  [root@localhost etc]mysql -h 192.168.2.119 -u 用户名 -p
  5、在220节点从库上设置同步
#设置连接MASTER MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position
#注意下面第二条命令语句中的master_log_file='mysql-bin.000001', master_log_pos=98;对应为前面在主库中执行的show master status;结果
mysql> slave stop;
mysql> change master to master_host='192.168.2.119',master_user='root',master_password='pfingo',master_log_file='mysql-bin.000001', master_log_pos=98;
mysql> slave start;
  6、启动从库服务
  mysql> slave start;
  7、进行测试
  在主库上的test库上建立名为myTest的表
mysql> CREATE TABLE `myTest` (
`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 20 ) NOT NULL ,
`password` CHAR( 32 ) NOT NULL ,
`last_update` DATETIME NOT NULL ,
`number` FLOAT( 10 ) NOT NULL ,
`content` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
  在从表中马上看到了效果,主从同步成功了;
  为了更进一步验证在从库上输入show slave status\G;
  mysql> show slave status\G;
  Slave_IO_Running: Yes(网络正常);
  Slave_SQL_Running: Yes(表结构正常)
  进一步验证了以上过程的正确性。


最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
关系型数据库 MySQL 数据库
MYSQL解压版安装笔记
MYSQL解压版安装笔记
7 0
|
12天前
|
存储 监控 关系型数据库
rds迁移前准备资源评估与配置
rds迁移前准备资源评估与配置
22 5
|
3天前
|
关系型数据库 MySQL Linux
CentOS7环境下安装MySQL5.6
CentOS7环境下安装MySQL5.6
|
3天前
|
关系型数据库 MySQL Docker
在win10安装docker及部署mysql5.6过程
在win10安装docker及部署mysql5.6过程
|
3天前
|
关系型数据库 MySQL Linux
Linux环境安装mysql 5.6注意事项
Linux环境安装mysql 5.6注意事项
|
3天前
|
SQL 监控 Java
Java Web应用中数据库连接池的配置与优化
Java Web应用中数据库连接池的配置与优化
|
4天前
|
关系型数据库 MySQL Linux
MySQL 数据库安装详解(linux系统和windows系统)
MySQL 数据库是一种广泛使用的开源关系数据库管理系统。在 Linux 和 Windows 系统上安装 MySQL 数据库的步骤略有不同。
28 0
|
5天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL5.7非安装版的安装过程
MySQL5.7非安装版的安装过程
10 1
|
6天前
|
关系型数据库 MySQL 数据安全/隐私保护
【极光系列】Windows安装Mysql8.0版本
【极光系列】Windows安装Mysql8.0版本
21 1
|
6天前
|
关系型数据库 MySQL 开发工具
【开发工具专题_02】windows操作系统下载与安装mysql8.0.18教程
【开发工具专题_02】windows操作系统下载与安装mysql8.0.18教程
8 0

热门文章

最新文章