CentOS7系统安装MySQL5.7.44之源码编译安装

准备环境装依赖,源码下载要解压;
CMake配编译项,编译安装需耐心;
用户和组要创建,目录权限要设好;
配置文件要编写,数据库要初始化;
服务启动并配置,root密码要修改;
远程访问可配置,安全加固别忘了。

本次安装需要提前规划好的目录(大家根据自己实际需求进行调整)

MySQL的源码目录 /opt/software/MySQL/mysql-5.7.44
MySQL的安装目录 DCMAKE_INSTALL_PREFIX=/opt/software/MySQL/mysql
MySQL的数据目录 DMYSQL_DATADIR=/opt/software/MySQL/data
MySQL的配置文件目录 DSYSCONFDIR=/etc
MySQL的UNIX域套接字文件目录 DMYSQL_UNIX_ADDR=/tmp/mysql.sock
服务进程pid文件路径 pid-file=/opt/software/MySQL/tmp/mysql.pid
临时目录路径 tmpdir=/opt/software/MySQL/tmp
表空间文件路径(默认保存在MySQL的datadir中) innodb_data_home_dir=/opt/software/MySQL/data
redoLog文件目录(默认保存在MySQL的datadir中 ) innodb_log_group_home_dir=/opt/software/MySQL/data
错误日志存放路径 log_error=/opt/software/MySQL/logs/error.log
通用查询日志存放路径 general_log_file=/opt/software/MySQL/logs/general.log
慢查询日志存放路径 slow_query_log_file=/opt/software/MySQL/logs/slowq.log

第一步,卸载mariadb和已经安装的MySQL

rpm -qa | grep mariadb

rpm -qa | grep mysql

yum remove -y [上面命令查询出来的mariadb或MySQL]

在这里插入图片描述

第二步,创建目录/opt/software/mysql来存放MySQL的源码包,切换到存放MySQL源码包的目录下,使用wget工具下载包含boost的官网MySQL源码包

mkdir -p /opt/package/mysql_package && cd /opt/package/mysql_package \
&& wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.44.tar.gz

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三步,创建MySQL相关目录

mkdir -p /opt/software/MySQL/{
   
   mysql,data,logs,tmp}

第四步,解压MySQL源码到/opt/software/MySQL目录下,centos7安装及配置SCL国内源centos7安装及配置EPEL国内源

tar -zxvf /opt/package/mysql_package/mysql-boost-5.7.44.tar.gz -C /opt/software/MySQL

第五步,安装MySQL源码编译需要用到的依赖库

# cmake版本建议3.75及以上

yum  install -y ncurses libaio-devel ncurses-devel openssl-devel gcc gcc-c++ make cmake cmake3 git gmp mpfr bison m4 libtool autoconf automake openldap openldap-clients openldap-servers openldap-devel migrationtools cyrus-sasl bison-devel openssl libtirpc libtirpc-devel libarchive

# 下面几个依赖包是我去Linux系统软件仓库上面下载的rpm包,下载到服务器上面再手动安装
yum localinstall -y \
devtoolset-11-binutils-2.36.1-2.xcpng8.3.x86_64.rpm \
devtoolset-11-gcc-11.2.1-6.xcpng8.3.x86_64.rpm \
devtoolset-11-libstdc++-devel-11.2.1-6.xcpng8.3.x86_64.rpm \
devtoolset-11-gcc-c++-11.2.1-6.xcpng8.3.x86_64.rpm

第六步,先shutdown now关闭系统,查看虚拟机分配了多少了硬件资源,在MySQL源码目录同级目录下,新建一个目录build来进行编译操作,切换到编译目录/opt/software/MySQL/build,执行编译过程,看到Configuring done,意味着配置完成

mkdir /opt/software/MySQL/build && cd /opt/software/MySQL/build

cmake3 -j10 /opt/software/MySQL/mysql-5.7.44 \
    -DCMAKE_INSTALL_PREFIX=/opt/software/MySQL/mysql \
    -DSYSCONFDIR=/etc \
    -DMYSQL_DATADIR=/opt/software/MySQL/data \
    -DMYSQL_TCP_PORT=3306 \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DDEFAULT_CHARSET=utf8mb4 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_SSL=system \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_BOOST=/opt/software/MySQL/mysql-5.7.44/boost \
    -DENABLE_DOWNLOADS=1
    

# 注解
cmake3 -j10 /opt/software/My
### 在CentOS 7上通过源码安装MySQL 5.7.38 #### 准备工作 确保系统环境满足编译和运行MySQL的要求。推荐使用最新的稳定内核并保持系统的软件包处于最新状态。 ```bash sudo yum update -y ``` 安装必要的开发工具和支持库: ```bash sudo yum groupinstall "Development Tools" sudo yum install cmake ncurses-devel bison openssl-devel perl ``` 下载MySQL 5.7.38的源代码压缩文件,并解压到指定目录下[^1]。 #### 编译与构建 创建一个新的用户来运行mysqld服务进程,这有助于提高安全性: ```bash sudo useradd -r mysqld -s /sbin/nologin ``` 进入解压后的MySQL源码目录执行cmake命令进行配置,注意调整参数以适应具体需求: ```bash cd mysql-5.7.38/ cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/var/lib/mysql \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci ``` 完成上述设置之后就可以开始编译了,在此期间可能需要等待一段时间取决于机器性能: ```bash make && sudo make install ``` #### 初始化数据库实例 初始化数据目录以及生成初始权限表结构: ```bash /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql ``` #### 配置启动脚本和服务管理器支持 复制提供的样例my.cnf模板至/etc/my.cnf位置作为全局默认配置文件;同时将mysql.server脚本拷贝到init.d路径以便于后续控制操作: ```bash cp support-files/my-default.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql service mysql start ``` 最后登录MySQL Shell修改root账户密码增强安全防护措施[^3]: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword'; FLUSH PRIVILEGES; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自学互联网

努力帮助更多的人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值