centos7 mysql源码编译安装
时间: 2023-07-25 08:51:17 浏览: 167
CentOS7.4 源码安装MySQL8.0的教程详解
以下是在CentOS 7系统下编译安装MySQL源码的步骤:
1. 安装编译工具和依赖包:使用以下命令安装编译工具和依赖包:
```
sudo yum install -y gcc-c++ cmake make bison-devel ncurses-devel openssl-devel
```
2. 下载MySQL源码包:在MySQL官网(https://dev.mysql.com/downloads/mysql/)下载最新版本的MySQL源码包,并将其上传到CentOS服务器上。
3. 解压源码包:在终端中进入源码包所在的目录,并使用以下命令解压源码包:
```
tar -zxvf mysql-x.x.x.tar.gz
```
(x.x.x代表源码包的版本号)
4. 创建MySQL用户和组:使用以下命令创建MySQL用户和组:
```
sudo groupadd mysql
sudo useradd -r -g mysql mysql
```
5. 编译源码:在解压后的源码目录中,使用以下命令编译源码:
```
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_MEMORY_STORAGE_ENGINE=1 \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make
```
上述命令中的参数含义如下:
- CMAKE_INSTALL_PREFIX:MySQL的安装目录。
- MYSQL_DATADIR:MySQL的数据目录。
- SYSCONFDIR:MySQL的配置文件目录。
- WITH_MYISAM_STORAGE_ENGINE:启用MyISAM存储引擎。
- WITH_INNOBASE_STORAGE_ENGINE:启用InnoDB存储引擎。
- WITH_MEMORY_STORAGE_ENGINE:启用Memory存储引擎。
- WITH_SSL:使用系统自带的SSL库。
- ENABLED_LOCAL_INFILE:允许使用LOCAL INFILE。
- WITH_READLINE:启用readline库。
- MYSQL_UNIX_ADDR:MySQL的Unix socket文件路径。
- DEFAULT_CHARSET:默认字符集。
- DEFAULT_COLLATION:默认校对规则。
6. 安装MySQL:使用以下命令安装MySQL:
```
sudo make install
```
7. 初始化MySQL:使用以下命令初始化MySQL:
```
sudo /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
```
8. 配置MySQL:将MySQL配置文件复制到/etc目录下,并修改配置文件中的参数:
```
sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
sudo vi /etc/my.cnf
```
修改参数如下:
```
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
```
9. 启动MySQL服务:使用以下命令启动MySQL服务:
```
sudo /usr/local/mysql/support-files/mysql.server start
```
至此,CentOS 7系统下MySQL源码编译安装完成。
阅读全文