CentOS 编译安装 MySQL
在 CentOS 系统中,通过源码编译安装 MySQL 是一种常见且灵活的方法,尽管这种方法相对复杂,但它能够提供高度的定制性和灵活性,适合需要特定配置或优化的场景,以下是详细的步骤指南:
基本环境准备
1、检查系统版本和更新软件包
确保操作系统已更新到最新版本:sudo yum update y
查看当前操作系统版本:cat /etc/redhatrelease
2、安装基础依赖包
使用yum
命令安装必需的依赖工具和库:
```bash
sudo yum y install wget cmake gcc gccc++ ncurses ncursesdevel libaiodevel openssl openssldevel
```
下载并解压 MySQL 源码包
3、下载 MySQL 源码包
从官方 MySQL 网站或其他可信赖的镜像站点下载 MySQL 源码包,下载 MySQL 8.0.29:
```bash
wget HTTPS://cdn.mysql.com//Downloads/MySQL8.0/mysql8.0.29.tar.gz
```
4、创建目录并解压源码包
创建一个用于存放源码的目录,并将源码包解压到该目录中:
```bash
mkdir /usr/local/src
cd /usr/local/src
tar xzvf mysql8.0.29.tar.gz
cd mysql8.0.29
```
创建用户和目录
5、添加 MySQL 用户和组
创建 MySQL 用户和组,以便后续操作:
```bash
sudo groupadd mysql
sudo useradd r g mysql s /sbin/nologin mysql
```
6、创建必要的目录并设置权限
创建安装目录和数据目录,并设置正确的权限:
```bash
sudo mkdir p /usr/local/mysql
sudo chown R mysql:mysql /usr/local/mysql
sudo mkdir p /data/mysql
sudo chown R mysql:mysql /data/mysql
sudo chmod R 755 /data/mysql
```
编译和安装 MySQL
7、配置编译参数
使用cmake
配置编译选项,以下是一个示例配置:
```bash
cmake . DCMAKE_INSTALL_PREFIX=/usr/local/mysql
DMYSQL_DATADIR=/data/mysql
DSYSCONFDIR=/etc
DMYSQL_TCP_PORT=3306
DWITH_BOOST=~/mysql8.0.12/boost
DDEFAULT_CHARSET=utf8
DDEFAULT_COLLATION=utf8_general_ci
DENABLED_LOCAL_INFILE=ON
DWITH_INNODB_MEMCACHED=ON
DWITH_INNOBASE_STORAGE_ENGINE=1
DWITH_FEDERATED_STORAGE_ENGINE=1
DWITH_BLACKHOLE_STORAGE_ENGINE=1
DWITH_ARCHIVE_STORAGE_ENGINE=1
DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
DWITH_PERFSCHEMA_STORAGE_ENGINE=1
```
8、编译和安装
执行编译和安装命令:
```bash
make j $(nproc)
sudo make install
```
初始化数据库和启动服务
9、初始化数据库
初始化 MySQL 数据库:
```bash
sudo /usr/local/mysql/bin/mysqld initialize user=mysql
```
10、启动 MySQL 服务
使用 systemd 管理 MySQL 服务:
```bash
sudo systemctl enable mysqld
sudo systemctl start mysqld
```
11、登录 MySQL
登录 MySQL 并设置 root 密码:
```bash
sudo /usr/local/mysql/bin/mysql u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;
```
相关FAQs
1、如何检查 MySQL 服务是否正常运行?
使用以下命令检查 MySQL 服务状态:
```bash
sudo systemctl status mysqld
```
如果服务正在运行,你应该会看到 "active (running)" 的状态信息。
2、如何修改 MySQL 配置文件?
MySQL 的主配置文件通常位于/etc/my.cnf
,你可以编辑这个文件来更改各种配置选项,如端口号、字符集等,编辑完成后,记得重启 MySQL 服务以使更改生效:
```bash
sudo systemctl restart mysqld
```
3、如何备份和恢复 MySQL 数据库?
你可以使用mysqldump
工具进行数据库备份:
```bash
sudo /usr/local/mysql/bin/mysqldump u root p your_database > backup.sql
```
使用mysqlimport
工具进行数据恢复:
```bash
sudo /usr/local/mysql/bin/mysql u root p your_database < backup.sql
```