CentOS7.2 MySQL SSL配置指南

centos 7.2 mysql ssl

时间:2025-07-21 22:15


CentOS7.2下MySQL SSL配置详解 在当今的数字化时代,数据安全已成为企业运营中不可或缺的一环

    特别是在使用数据库系统时,确保数据的传输安全至关重要

    MySQL作为广泛使用的关系型数据库管理系统,其安全性一直备受关注

    在CentOS7.2环境下,通过配置MySQL的SSL(Secure Sockets Layer)加密,可以大幅提升数据传输的安全性

    本文将详细介绍如何在CentOS7.2上安装MySQL5.7,并配置SSL安全连接

     一、安装MySQL5.7 在CentOS7.2上安装MySQL5.7之前,需要先卸载系统默认安装的MariaDB,因为MariaDB与MySQL存在冲突

    具体步骤如下: 1.检查并卸载MariaDB: bash rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs 2.安装依赖包: MySQL5.7的编译安装需要一系列依赖包,包括cmake、Boost库、GCC、bison和ncurses等

    这些依赖包的作用如下: -cmake:用于设置MySQL的编译参数,如安装目录、数据存放目录、字符编码等

     -Boost库:MySQL源码中用到了C++的Boost库,必须安装boost1.59.0或以上版本

     -GCC:Linux下的C语言编译工具,MySQL源码编译完全由C和C++编写

     -bison:Linux下C/C++语法分析器

     -ncurses:字符终端处理库

     安装这些依赖包的命令如下: bash 下载并安装cmake wget http://www.cmake.org/files/v3.5/cmake-3.5.2.tar.gz tar zxvf cmake-3.5.2.tar.gz cd cmake-3.5.2 ./bootstrap make sudo make install 下载并安装ncurses wget ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz tar zxvf ncurses-5.9.tar.gz cd ncurses-5.9 ./configure make sudo make install 下载并安装bison wget http://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz tar zxvf bison-3.0.4.tar.gz cd bison-3.0.4 ./configure make sudo make install 下载并安装Boost库 wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz tar zxvf boost_1_59_0.tar.gz sudo mv boost_1_59_0 /usr/local/boost 3.创建MySQL用户和目录: bash 创建mysql用户和用户组 sudo groupadd -r mysql sudo useradd -r -g mysql -s /bin/false -M mysql 创建MySQL安装目录和数据目录 sudo mkdir /usr/local/mysql sudo mkdir /usr/local/mysql/data 4.编译安装MySQL: 下载MySQL5.7.13的源码包并进行编译安装: bash wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz tar zxvf mysql-5.7.13.tar.gz cd mysql-5.7.13 执行cmake命令进行编译前的配置 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost 开始编译和安装 make && sudo make install 5.设置权限并初始化MySQL系统授权表: bash 更改MySQL目录的所有者和属组 cd /usr/local/mysql sudo chown -R mysql:mysql . 初始化MySQL系统数据库 sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 注意:初始化后会生成一个随机密码,用于首次登录MySQL

     6.配置MySQL自动启动: 将MySQL添加到系统服务中,并设置开机自启动: bash 复制MySQL的启动脚本到系统服务目录 sudo cp support-files/mysql.server /etc/init.d/mysql 设置MySQL服务开机自启动 sudo chkconfig --add mysql sudo chkconfig mysql on 启动MySQL服务 sudo service mysql start 二、配置MySQL SSL 在MySQL中,SSL可以用于加密客户端与服务器之间的通信,以防止数据被窃取或篡改

    以下是在MySQL5.7中配置SSL的详细步骤: 1.生成SSL证书和私钥: 使用OpenSSL工具生成自签名证书和私钥: bash 生成服务器证书和私钥 openssl req -x509 -nodes -days365 -newkey rsa:2048 -keyout server-key.pem -out server-cert.pem 按照提示填写相关信息,生成server-key.pem(私钥)和server-cert.pem(证书)

     2.复制证书和私钥到MySQL服务器: 将生成的证书和私钥文件复制到MySQL服务器的安全目录(默认为数据目录下的ssl子目录): bash sudo mkdir -p /usr/local/mysql/data/ssl sudo cp server-key.pem server-cert.pem /usr/local/mysql/data/ssl/ 3.配置MySQL服务器使用SSL: 编辑MySQL服务器的配置文件(通常是/etc/my.cnf或/etc/mysql/my.cnf),并添加以下配置: ini 【mysqld】 ssl-ca=/usr/local/mysql/data/ssl/server-cert.pem ssl-cert=/usr/local/mysql/data/ssl/server-cert.pem ssl-key=/usr/local/mysql/data/ssl/server-key.pem 保存配置文件并重启MySQL服务器以使更改生效: bash sudo service mysql restart 4.为用户启用SSL连接: 希望特