请先关注 [低调大师说] 公众号
您现在的位置是:首页 > 文章详情

CentOS8编译安装MySQL8.0.19

日期:2025-09-05点击:9545
主题:

安装准备

1.下载MySQL安装包(下载安装源码 -- Source Code[集成boost])

下载地址:https://dev.mysql.com/downloads/mysql

2.编译环境准备:(已经安装就无需重复操作)针对CentOS其他请百度

sh 复制代码
dnf install -y make cmake gcc gcc-c++ ncurses-devel libtirpc-devel openssl-devel tar

3.安装rpcgen

sh 复制代码
xz -d rpcsvc-proto-1.4.1.tar.xz && tar -xvf rpcsvc-proto-1.4.1.tar
  • 进入rpcgen并预编译
sh 复制代码
cd rpcsvc-proto-1.4.1
./configure
  • 编译安装
sh 复制代码
make && make install

安装

1.解压MySQL到指定目录

如: /data0/mysql

sh 复制代码
tar -zxvf mysql-boost-8.0.19.tar.gz

2.创建mysql用户及用户组并禁止mysql用户登录

sh 复制代码
groupadd mysql && useradd -s /sbin/nologin -g mysql -r mysql

3.创建MySQL的数据,日志,临时目录

sh 复制代码
mkdir -p /data1/mysql/data && mkdir -p /data1/mysql/logs && mkdir -p /data1/mysql/temp && mkdir -p /data1/mysql/mysqld

4.配置环境变量

  • 打开文件:
sh 复制代码
vi /etc/profile
  • 输入:
sh 复制代码
# MySQL
export MYSQL_HOME=/data0/mysql
export PATH=$MYSQL_HOME/bin:$MYSQL_HOME/lib:$PATH
  • 保存并退出
sh 复制代码
:x
  • 让配置马上生效
sh 复制代码
source /etc/profile

5.编译安装

  • 进入解压的MySQL目录并创建编译文件夹build
sh 复制代码
cd /data0/mysql/mysql-8.0.19 && mkdir build && cd build
  • 预编译
sh 复制代码
cmake ../ \
-DCMAKE_INSTALL_PREFIX=/data0/mysql \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost \
-DMYSQL_UNIX_ADDR=/data1/mysql/temp/mysql.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data1/mysql/data \
-DMYSQL_TCP_PORT=11010

预编译结果

  • 编译
sh 复制代码
make

编译结果

  • 安装
sh 复制代码
make install

6.修改MySQL目录拥有者为mysql用户

sh 复制代码
chown -Rf mysql:mysql /data0/mysql && chown -Rf mysql:mysql /data1/mysql

7.初始化MySQL数据库

  • 进入MySQL安装目录
sh 复制代码
cd /data0/mysql
  • 初始化
sh 复制代码
bin/mysqld --initialize-insecure --basedir=/data0/mysql --datadir=/data1/mysql/data --user=mysql

8.配置/etc/my.cnf文件

sh 复制代码
vi /etc/my.cnf

9.添加服务,拷贝服务脚本到init.d目录 并设置为开机启动

sh 复制代码
cp support-files/mysql.server /etc/init.d/mysql && chkconfig mysql on

10.启动MySQL

sh 复制代码
service mysql start

11.初始化MySQL的root用户密码

sh 复制代码
mysqladmin -u root password 'root'

12.登录MySQL并初始化数据库

  • 登录
sh 复制代码
mysql -uroot -proot
  • 修改信息
命令 说明
use mysql; 使用mysql数据库
create user root@'%' identified by 'root'; 修改root用户可以远程登录,密码为root
grant all privileges on . to root@'%' with grant option; 赋予root用户所有权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 修改加密方式适应老的软件(可选)
flush privileges; 刷新配置

运行结果

13.运行安全设置脚本

sh 复制代码
/data0/mysql/bin/mysql_secure_installation
提示 说明
Enter current password for root (enter for none): 输入MySQL数据库root用户密码
Press y or Y for Yes, any other key for No: 你想设置验证密码插件吗
Change the root password? \[Y/n] 是否改变root密码
Remove anonymous users? \[Y/n] 是否删除匿名用户
Disallow root login remotely? \[Y/n] 是否禁止root用户远程登录
Remove test database and access to it? \[Y/n] 是否删除test库以及相应权限
Reload privilege tables now? \[Y/n] 重新加载权限表使设置生效

运行结果

14.往防火墙添加11010端口以供远程用户访问

sh 复制代码
firewall-cmd --add-port=11010/tcp --permanent && firewall-cmd --add-port=11010/tcp

15.重启Linux系统尝试从局域网访问

username:root
password:root

关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章