CentOS Linux release 7.5.1804编译安装mysql5.7.26

本文提供了一份详细的MySQL 5.7.26版本从源码编译安装的步骤指南,包括了下载及配置依赖库、创建用户、编译安装过程、配置服务、初始化数据库等内容。

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

1、下载boost库(MYSQL5.7及以上需要,必须安装)并解压到 /usr/local 目录下

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar zxf boost_1_59_0.tar.gz -C /usr/local/

2、下载依赖包

yum -y install ncurses ncurses-devel perl perl-devel gcc gcc-c++ cmake make openssl-devel openssl

3、建立MYSQL用户

useradd -s /sbin/nologin mysql

4、下载MYSQL-5.7.26源码包并编译安装

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26.tar.gz
tar zxf mysql-5.7.26.tar.gz
cd mysql-5.7.26
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_TCP_PORT=3306 \
-DWITH_READLINE=1 \
-DMYSQL_USER=mysql \
-DWITH_SSL=yes
make && make install

5、创建MYSQL数据存储目录并授权用户mysql

mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql

6、编辑MYSQL主配置文件

cat >/etc/my.cnf <<EOF
[client]
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
 
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
 
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
log-error = /tmp/mysqld.log
server-id = 1
log-bin =mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
EOF

7、初始化数据库(生成空密码,生成随机密码–initialize)初始化数据库,–initialize 表示默认生成一个安全的密码,–initialize-insecure 表示不生成密码

cd /usr/local/mysql/bin
./mysqld --initialize-insecure --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql

或者

./mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql

如果设置密码可以看到最后一行会出现临时密码
[Note] A temporary password is generated for root@localhost: =mrV)_16is4U
8、配置成系统服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod o+x /etc/init.d/mysqld

9、启动MYSQL服务、添加开启自启动

chown -R mysql.mysql /usr/local/mysql
service mysqld start
chkconfig --add mysqld
chkconfig mysqld on

10、创建软连接、访问数据库(也可以设置环境变量,但是如果有多个mysql版本建议用软链接)

ln -s /usr/local/mysql/bin/* /usr/bin
mysql

在这里插入图片描述
思考:
为什么源码包编译前大小为394MB
在这里插入图片描述
编译完5.2G

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值