mysql5.7.23源代码安装脚本

本文介绍如何在CentOS7系统上从源码安装MySQL5.7数据库,包括卸载自带的mariadb、安装必要的依赖库、配置编译参数等步骤。

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

复制下面的代码即可
相应的插件可到相应的官网上去下载
#源代码安装
#前提条件:将cmake-3.10.2.tar.gz,ncurses-5.9.tar.gz,bison-3.1.tar.gz, boost_1_59_0.tar.gz,mysql-5.7.23.tar.gz都要在/usr/local/src目录下
#将centos7自带的mariadb数据库删除,以防止冲突无法成功安装mysql
rpm -e mariadb-libs --nodeps
#安装gcc的环境,因为mysql基于c/c++
cd /usr/local/src/
yum -y install gcc*
#因为系统是centos7的mysql编译安装的时候需要使用新的编译方式:cmake方式
#可以使用cmake -version来查看版本
tar zxf cmake-3.10.2.tar.gz
cd cmake-3.10.2/
./bootstrap && gmake && gmake install
#需要安装带有字符终端的处理库
cd …
tar zxf ncurses-5.9.tar.gz
cd ncurses-5.9/
./configure && make && make install
#linux的c/c++的分析器
cd …
tar zxf bison-3.1.tar.gz
cd bison-3.1/
./configure && make && make install
#在源码中用c/c++boost库
cd …
tar zxf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
#创建mysql的程序用户和组,以便支持mysql的运行和使用
groupadd -r mysql
useradd -r -g mysql -s /bin/false -M mysql
#创建mysql的配置文件路径和数据文件目录
mkdir -p /usr/local/mysql/data
#编译安装:解压,配置,编译,安装
tar zxf mysql-5.7.23.tar.gz
cd mysql-5.7.23/
#更多参数cmake . –LH
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost
#-j 指定cpu核心数
make -j 2 && make install
#将mysql的命令添加到环境变量里,并立即刷新环境,使即立即生效
cd …
echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
. /etc/profile
#给目录添加属主和属组,以便权限
chown -R mysql:mysql /usr/local/mysql/
#初始化数据库
cd /usr/local/mysql/
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#设置为系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
#新的配置文件
echo “[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
pid-file=/usr/local/mysql/mysqld.pid” > /etc/my.cnf
sed -i ‘/^PIDFile=/c PIDFile=/usr/local/mysql/mysqld.pid’ /usr/lib/systemd/system/mysqld.service
sed -i ‘/^ExecStart=/c ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/mysqld.pid $MYSQLD_OPTS’ /usr/lib/systemd/system/mysqld.service
#刷新配置,开启服务并自启
systemctl daemon-reload
systemctl start mysqld
systemctl enable mysqld
#查看端口,检查是否正常运行
ss -anpt | grep mysqld
passd=grep 'password' data/mysqld.err | awk -F'localhost: ' {print'$2'}
mysqladmin -u root -p$passd password 123
mysql -u root -p123

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值