HCRM博客

如何在CentOS上从源码安装MySQL?

CentOS安装MySQL源码

在CentOS上通过源码安装MySQL是一种常见且灵活的方法,尤其适用于需要高度定制化配置的场景,以下是详细的步骤和相关注意事项:

如何在CentOS上从源码安装MySQL?-图1
(图片来源网络,侵权删除)

准备工作

1、更新系统:确保系统已更新到最新版本。

```bash

sudo yum update y

```

2、创建MySQL用户和组

```bash

如何在CentOS上从源码安装MySQL?-图2
(图片来源网络,侵权删除)

sudo groupadd mysql

sudo useradd r g mysql mysql

```

3、安装编译工具和依赖

```bash

sudo yum groupinstall "Development Tools" y

如何在CentOS上从源码安装MySQL?-图3
(图片来源网络,侵权删除)

sudo yum install cmake ncursesdevel y

```

4、下载MySQL源码包:从MySQL官方网站下载所需版本的源码包,下载MySQL 8.0.29:

```bash

wget HTTPS://cdn.mysql.com//Downloads/MySQL8.0/mysql8.0.29.tar.gz

tar xzvf mysql8.0.29.tar.gz

cd mysql8.0.29

```

编译和安装

1、配置编译参数:使用cmake配置MySQL的编译选项,这些选项可以根据需求进行调整。

```bash

cmake \

DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

DDEFAULT_CHARSET=utf8mb4 \

DDEFAULT_COLLATION=utf8mb4_unicode_ci \

DWITH_EXTRA_CHARSETS=all \

DWITH_MYISAM_STORAGE_ENGINE=1 \

DWITH_INNOBASE_STORAGE_ENGINE=1 \

DWITH_PARTITION_STORAGE_ENGINE=1 \

DWITH_READLINE=1 \

DWITH_ZLIB=system \

DWITH_LIBWRAP=0 \

DWITH_DEBUG=0 \

DENABLED_LOCAL_INFILE=1 \

DWITH_SSL=system \

DWITH_EMBEDDED_SERVER=1 \

DWITH_PLUGIN_DIR=/usr/local/mysql/lib/plugin \

.

```

2、编译源码:执行make命令进行编译,可以使用j选项加快编译速度。

```bash

make j $(nproc)

```

3、安装MySQL:将编译好的MySQL安装到指定目录。

```bash

sudo make install

```

初始化数据库和配置文件

1、初始化数据库:初始化MySQL数据库并生成初始密码。

```bash

sudo /usr/local/mysql/bin/mysqld initialize user=mysql

```

2、修改权限:更改目录所有权,使MySQL用户拥有对安装目录的读写权限。

```bash

sudo chown R mysql:mysql /usr/local/mysql

```

3、创建配置文件:编辑MySQL配置文件my.cnf,添加以下内容:

```ini

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

charactersetserver = utf8mb4

collationserver = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

[mysqld_safe]

logerror=/var/log/mariadb.log

pidfile=/var/run/mariadb.pid

[client]

defaultcharacterset=utf8mb4

[mysql]

defaultcharacterset = utf8mb4

!includedir /etc/my.cnf.d

```

启动MySQL服务

1、启动MySQL服务:使用systemd启动MySQL服务。

```bash

sudo /usr/local/mysql/bin/mysqld_safe user=mysql &

```

2、设置开机自启动:创建systemd服务文件,使MySQL在系统启动时自动启动。

```bash

sudo cat > /etc/systemd/system/mysqld.service <<EOF

[Unit]

Description=MySQL Server

After=network.target

[Service]

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld_safe

Restart=always

RestartSec=10

[Install]

WantedBy=multiuser.target

EOF

```

3、启用并启动MySQL服务

```bash

sudo systemctl enable mysqld

sudo systemctl start mysqld

```

4、检查MySQL服务状态:确认MySQL服务已成功启动。

```bash

sudo systemctl status mysqld

```

5、登录MySQL并设置root密码:使用初始密码登录MySQL并设置新的root密码。

```bash

sudo /usr/local/mysql/bin/mysql u root p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';

FLUSH PRIVILEGES;

EXIT;

```

FAQs(常见问题解答)

1、Q: 安装过程中遇到依赖缺失怎么办?

A: 如果安装过程中遇到依赖缺失的问题,可以通过以下命令安装缺失的依赖:

```bash

sudo yum install <missing_dependency> y

```

如果缺少libaio,可以运行:

```bash

sudo yum install libaio y

```

2、Q: 如何卸载已安装的MySQL?

A: 要卸载已安装的MySQL,可以按照以下步骤操作:

1. 停止MySQL服务:

```bash

sudo systemctl stop mysqld

```

2. 删除MySQL相关的文件和目录:

```bash

sudo rm rf /usr/local/mysql

sudo find / name mysql exec rm rf {} \;

```

3. 删除MySQL配置文件:

```bash

sudo rm /etc/my.cnf

```

分享:
扫描分享到社交APP
上一篇
下一篇