编译安装MySQL 5.7.26

本文详细介绍了在CentOS Linux 7.6环境下从源码编译安装MySQL 5.7.26的具体步骤,包括依赖安装、软件下载、编译配置、环境变量设置、权限配置、数据初始化及服务管理等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

onelpc.com

实验环境

  • **系统版本:**CentOS Linux release 7.6.1810 (Core)
  • 软件版本: mysql-boost-5.7.26

编译安装

安装依赖

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake make

下载软件

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.26.tar.gz

创建相关目录

# 软件目录
mkdir -p /application/
# 数据目录
mkdir -p /data/mysql/data 

解压软件包

tar xf mysql-boost-5.7.26.tar.gz 
cd mysql-5.7.26/

创建运行用户

useradd -M -s /sbin/nologin mysql

配置

注意:每个\号后面不要有空格等字符,否则会报错。

cmake \
-DCMAKE_INSTALL_PREFIX=/application/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BOOST=./boost \
-DMYSQL_TCP_PORT=3306 \
-DWITH_SYSTEMD=1 .

参数说明

-DCMAKE_INSTALL_PREFIX= #指定mysql数据库安装目录
-DMYSQL_DATADIR= #数据库文件
-DMYSQL_UNIX_ADDR= #连接文件位置
-DSYSCONFDIR= #指定配置文件目录
-DSYSTEMD_PID_DIR= #进程文件目录
-DDEFAULT_CHARSET= #指定默认使用的字符集编码
-DDEFAULT_COLLATION= #指定默认使用的字符集校对规则
-DWITH_INNOBASE_STORAGE_ENGINE= #存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE= #存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE= #存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE= #存储引擎
-DWITH_BOOST= #指定Boost库的位置,mysql5.7必须加该参数
-DMYSQL_TCP_PORT= #指定端口
-DWITH_SYSTEMD=

编译并安装

make && make install

配置环境变量

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
mysql -V #检查是否生效

修改数据库目录权限

chown -R mysql:mysql /application/mysql
chown -R mysql:mysql /data/

初始化数据

mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

编写配置文件

cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF

配置systemctl管理文件

cat >/etc/systemd/system/mysqld.service<<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF

启动数据库

systemctl start mysqld
systemctl status mysqld

检查MySQL

netstat -lntup|grep 3306

配置管理员密码

mysqladmin -uroot -p password onelpc.com

登录数据库

mysql -uroot -ponelpc.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值