
MySQL,作为一款开源的关系型数据库管理系统(RDBMS),通过其主从复制功能,提供了实现这些目标的有效手段
本文将详细介绍如何在两台服务器上安装和配置MySQL5.6的主从复制环境
一、安装前准备 在安装MySQL5.6之前,我们需要做一些准备工作,以确保安装和配置过程的顺利进行
1.系统环境检查: - 确保服务器上未安装其他版本的MySQL,以避免版本冲突
- 检查服务器的操作系统版本,MySQL 5.6支持多种操作系统,如CentOS、Red Hat等
- 确保服务器的防火墙已开放3306端口,这是MySQL的默认通信端口
2.下载MySQL安装包: - 从MySQL官方网站下载与操作系统版本相匹配的MySQL5.6安装包
例如,对于CentOS6.5,可以下载`mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz`
3.创建MySQL用户和组: - 为了安全起见,MySQL通常不以root用户运行
因此,我们需要创建一个专门的MySQL用户和组
bash groupadd mysql useradd -s /sbin/nologin -M -g mysql mysql 二、MySQL5.6安装步骤 以下是MySQL5.6在CentOS6.5上的详细安装步骤: 1.解压安装包: bash cd /usr/local wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz tar zxvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz ln -s mysql-5.6.38-linux-glibc2.12-x86_64 mysql 2.初始化数据库实例: bash chown -R mysql:mysql /usr/local/mysql/data /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 3.配置MySQL: 在`/etc`目录下创建或修改`my.cnf`文件,添加以下内容: ini 【client】 port=3306 socket=/tmp/mysql.sock 【mysqld】 port=3306 socket=/tmp/mysql.sock basedir=/usr/local/mysql datadir=/usr/local/mysql/data 4.启动MySQL服务: MySQL可以通过多种方式启动,以下是使用`mysqld_safe`命令启动的方法: bash /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf & 另外,也可以将MySQL配置为系统服务,以便更方便地管理: bash cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld start 5.设置MySQL root密码: bash /usr/local/mysql/bin/mysqladmin -u root password admin 三、主从复制配置 在完成MySQL的安装和初始化后,接下来进行主从复制的配置
假设主服务器IP为192.168.1.1,从服务器IP为192.168.1.2
1. 主服务器配置 (1)修改主服务器的`my.cnf`文件,在`【mysqld】`部分添加以下内容: ini 【mysqld】 log-bin=/usr/local/mysql/data/mysql-bin server-id=1 replicate-ignore-db=mysql - log-bin:启用二进制日志功能,并指定二进制日志文件的存储路径
- server-id:设置服务器的唯一ID,主从服务器的ID必须不同
- replicate-ignore-db:指定不需要同步的数据库,这里忽略`mysql`系统数据库
(2)重启MySQL服务: bash service mysqld restart (3)创建用于同步的用户并授予权限: sql mysql> GRANT REPLICATION SLAVE ON- . TO replication@% IDENTIFIED BY 123456; mysql> FLUSH PRIVILEGES; (4)查看主服务器的状态,记录二进制日志文件名和位置: sql mysql> SHOW MASTER STATUS; 2. 从服务器配置 (1)修改从服务器的`my.cnf`文件,在`【mysqld】`部分添加以下内容: ini 【mysqld】 log-bin=/usr/local/mysql/data/mysql-slave-bin server-id=2 relay-log=/usr/local/mysql/data/mysql-relay-bin log_slave_updates=1 read_only=1 - log-bin:在从服务器上启用二进制日志(可选,但有助于将来可能的多级复制)
server-id:设置从服务器的唯一ID
relay-log:指定中继日志文件的存储路径
- log_slave_updates:将从服务器的复制事件写入其自己的二进制日志(可选,但有助于多级复制)
- read_only:设置从服务器为只读模式,以防止数据被意外修改
(2)重启MySQL服务: bash service mysqld restart (3)在从服务器上配置复制参数,指向主服务器: sql mysql> CHANGE MASTER TO MASTER_HOST=192.168.1.1, MASTER_USER=replication, MASTER_PASSWORD=123456, MASTER_LOG_FILE=mysql-bin.000001,-- 这里填写主服务器SHOW MASTER STATUS显示的日志文件名 MASTER_LOG_POS=123456;-- 这里填写主服务器SHOW MASTER STATUS显示的位置 (4)启动从服务器的复制进程: sql mysql> START SLAVE; (5)检查从服务器的复制状态: sql mysql> SHOW SLAVE STATUSG; 确保`Slave_IO_Running`和`Slave_SQL_Running`的状态都为`Yes`,表示复制进程正在正常运行
四、测试主从复制 在主服务器上创建一个新的数据库或表,然后在从服务器上检查是否成功同步
如果一切正常,你应该能够在从服务器上看到与主服务器相同的数据库和表结构
五、注意事项 1.防火墙设置:确保两台服务器之间的3306端口是开放的,以便MySQL服务能够
MySQL建表常见问题解析
MySQL5.6主从复制安装指南
Linux环境下MySQL数据库强制重启实用命令指南
MySQL:如何查询条件为空的值
MySQL分片表求和难题解析
MySQL字段添加注释的SQL技巧
MySQL优化指南:16G内存参数配置
MySQL1003错误解决:复制配置指南
MySQL5.6安装全攻略,CSDN教程详解
MySQL数据库主从复制实战指南:搭建与配置详解
MySQL主从同步:精准配置,实现特定数据库同步策略
MySQL数据库复制快速入门指南
MySQL远程定时数据复制指南
MySQL主从同步失败解决方案
MySQL半同步复制:揭秘心跳机制
MySQL5.6社区版:数据库管理新体验
MySQL快速复制数据库结构指南
MySQL5.6卸载重装指南
MySQL5.6 如何设置空密码登录