
MySQL作为一款开源的关系型数据库管理系统(RDBMS),凭借其高性能、可靠性和易用性,在各行各业中得到了广泛应用
特别是在Linux环境下,MySQL的安装与配置更是许多系统管理员和开发者的必备技能
本文将详细介绍如何在Linux下安装MySQL以及搭建主从复制环境,确保数据的高可用性和负载均衡
一、Linux下MySQL的安装 1. 环境准备 在开始安装之前,请确保你的Linux服务器(无论是云服务器还是虚拟机)已经准备好,并且网络连接正常
本文将以CentOS7为例进行说明,但大部分步骤也适用于其他Linux发行版
2.卸载旧版MySQL或MariaDB 在安装新的MySQL之前,如果系统中已经存在旧版的MySQL或MariaDB,建议先将其卸载,以避免潜在的冲突
可以使用以下命令:
bash
rpm -qa | grep mysql
rpm -e --nodeps
bash
wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y --nogpgcheck install mysql-community-server
方法二:通过RPM包手动安装
如果你需要特定版本的MySQL,或者YUM源不可用,可以选择手动下载RPM包并安装
bash
下载MySQL RPM包集合(以8.0.28版本为例)
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar -C /path/to/mysql
按照依赖顺序安装RPM包
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
4.初始化MySQL
在安装完成后,需要对MySQL进行初始化,以生成必要的系统表和配置文件
bash
mysqld --initialize --console
初始化过程中,系统会生成一个临时root密码,请务必记录下来
5. 启动MySQL服务并设置开机自启动
bash
systemctl start mysqld.service
systemctl enable mysqld.service
6. 修改root密码及配置
使用临时密码登录MySQL后,建议立即修改root密码,并根据需要进行其他配置
bash
mysql -u root -p
1. 环境准备
确保主从服务器已经安装好MySQL,并且网络连接正常 同时,需要开放MySQL的默认端口3306(如果防火墙启用)
bash
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
2. 主服务器配置
修改MySQL配置文件
编辑`/etc/my.cnf`文件,添加或修改以下配置:
ini
【mysqld】
server-id=1
log-bin=mysql-bin
binlog-format=MIXED
log-slave-updates=true
read-only=0
重启MySQL服务
bash
systemctl restart mysqld
为从服务器授权
在主服务器上创建一个用于复制的用户,并授予必要的权限
sql
CREATE USER replica_user@% IDENTIFIED WITH mysql_native_password BY replica_password;
GRANT REPLICATION SLAVE ON. TO replica_user@%;
FLUSH PRIVILEGES;
查看二进制日志坐标
记录当前二进制日志文件名和位置,以便在从服务器上配置复制
sql
SHOW MASTER STATUS;
3. 从服务器配置
修改MySQL配置文件
编辑`/etc/my.cnf`文件,添加或修改以下配置:
ini
【mysqld】
server-id=2
read-only=1
注意:`server-id`必须唯一,且与主服务器不同
重启MySQL服务
bash
systemctl restart mysqld
配置主从同步
在从服务器上执行以下命令,配置复制源
sql
CHANGE MASTER TO
MASTER_HOST=master-server-ip,
MASTER_USER=replica_user,
MASTER_PASSWORD=replica_password,
MASTER_LOG_FILE=mysql-bin.xxxxxx,--替换为SHOW MASTER STATUS输出的文件名
MASTER_LOG_POS=xxxxxx; --替换为SHOW MASTER STATUS输出的位置
启动复制进程
sql
START SLAVE;
查看复制状态
使用以下命令检查复制状态,确保`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`
sql
SHOW SLAVE STATUSG;
4. 测试主从复制
在主服务器上创建一个测试数据库和表,并插入一些数据 然后,在从服务器上检查是否成功同步了这些数据和结构
sql
-- 在主服务器上执行
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE test_table(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100));
INSERT INTO test_table(name) VALUES(Test Data);
-- 在从服务器上执行
SHOW DATABASES;
USE test_db;
SELECTFROM test_table;
如果在从服务器上能够看到与主服务器相同的数据,则说明主从复制搭建成功
三、总结
本文详细介绍了在Linux环境下安装MySQL以及搭建主从复制环境的步骤 通过遵循这些步骤,你可以轻松地实现MySQL数据库的高可用性和负载均衡 无论是对于初学者还是有经验的系统管理员来说,掌握这些技能都是非常重要的 希望本文能对你有所帮助!
MySQL更换指南:轻松升级数据库管理
Linux环境下MySQL安装与主从复制搭建全攻略
解决MySQL服务无法启动的妙招
如何禁用MySQL开机自启动
MySQL数据库中照片类型管理指南
MySQL一对多关系数据库设计指南
服务器无MySQL命令?解决方案来了!
MySQL更换指南:轻松升级数据库管理
解决MySQL服务无法启动的妙招
如何禁用MySQL开机自启动
MySQL数据库中照片类型管理指南
MySQL一对多关系数据库设计指南
服务器无MySQL命令?解决方案来了!
MySQL安装遭拒:原因大揭秘
MySQL数据库:轻松掌握数据获取技巧
SQL Server高手如何管理MySQL数据库
MySQL主键冲突,自动返回新自增值技巧
MySQL数据库:设置主键自增技巧
班级平均年龄揭秘:MySQL数据分析