在当今的互联网时代,数据库是支撑各类应用的核心组件之一。MySQL作为一款开源、高效、稳定的数据库管理系统,广泛应用于各种场景。本文将详细介绍在CentOS 7.X 64位操作系统上手动安装MySQL数据库的详细步骤,包括源码编译安装和配置优化,帮助读者掌握这一重要技能。
一、准备工作
在开始安装之前,我们需要做一些准备工作,以确保安装过程顺利进行。
1.1 关闭SELinux和firewalld防火墙
为了防止SELinux和firewalld防火墙干扰MySQL的安装和运行,我们需要先将其关闭。
# 关闭SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld
1.2 配置网络yum源
确保系统可以正常访问网络,并配置好yum源,以便后续安装依赖软件包。
# 备份原有yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 配置阿里云yum源
cat << EOF | tee /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-7 - Base
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
module_hotfixes=true
EOF
# 更新yum缓存
yum makecache
二、安装编译工具和依赖软件包
为了编译安装MySQL,我们需要安装一些必要的编译工具和依赖软件包。
yum install -y gcc gcc-c++ make cmake bison-devel ncurses-devel libaio libaio-devel net-tools perl
三、下载并解压MySQL源码包
从MySQL官方网站下载最新的源码包,并解压到指定目录。
# 下载MySQL源码包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35.tar.gz
# 解压源码包
tar -zxvf mysql-5.7.35.tar.gz -C /usr/local/src
cd /usr/local/src/mysql-5.7.35
四、编译安装MySQL
4.1 使用cmake进行配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysqldb \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++
4.2 编译并安装
make -j $(nproc)
make install
五、初始化数据库
创建MySQL数据目录,并初始化数据库。
# 创建数据目录
mkdir -p /data/mysqldb
chown -R mysql:mysql /data/mysqldb
# 初始化数据库
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --datadir=/data/mysqldb
初始化完成后,会生成一个临时密码,记下这个密码,后续需要用到。
六、配置MySQL
6.1 复制配置文件
cp support-files/my-default.cnf /etc/my.cnf
6.2 复制启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
6.3 添加环境变量
编辑/etc/profile
文件,添加MySQL环境变量。
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
source /etc/profile
七、启动MySQL服务
# 启动MySQL服务
systemctl start mysqld
# 设置MySQL服务开机自启
systemctl enable mysqld
八、登录MySQL并修改root密码
使用初始化时生成的临时密码登录MySQL,并修改root密码。
# 登录MySQL
mysql -u root -p
# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
九、配置优化
9.1 修改默认端口号
编辑/etc/my.cnf
文件,修改默认端口号。
[mysqld]
port = 3306
9.2 设置字符集和默认搜索引擎
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=INNODB
十、总结
通过以上步骤,我们成功在CentOS 7上手动安装并配置了MySQL数据库。虽然过程较为复杂,但掌握这一技能对于理解数据库的底层原理和进行个性化配置非常有帮助。希望本文能对读者在实际操作中提供参考和帮助。
在实际生产环境中,还可以根据具体需求进行更多的优化和配置,例如设置主从复制、优化查询缓存等。MySQL作为一款功能强大的数据库管理系统,其灵活性和可扩展性为各种应用场景提供了坚实的支撑。