centos系统 7.8 编译安装MySQL5.7.31版本

一、官网下载安装包

MySQL官网:https://downloads.mysql.com/archives/community/

 

二、下载完之后将mysql-community-5.7.31-1.el7.src.rpm安装包传到CentOS 7机器上

三、安装MySQL5.7.31安装包

 rpm -ivh mysql-community-5.7.31-1.el7.src.rpm    如果权限不足需sudo

 注:boost源码包跟mysql-5.7.31源码包都在在rpmbuild目录下的SOURCES目录下

四、安装环境依赖包

 yum -y install ncurses ncurses-devel bison cmake bzip2

 注:php版本比较高的话,可能需要重新安装libzip,安装前需安装高版本的cmake;

五、创建用户并解压安装包

 1.创建用户

 useradd -s /sbin/nologin mysql

 2.将安装包解压缩放在指定的目录中

 创建解压目录:mkdir /home/ops   
解压boot安装包:tar -jxvf boost_1_59_0.tar.bz2 -C /home/ops
解压MySQL安装包:tar -zxvf mysql-5.7.31.tar.gz -C /home/ops

 3.修改解压后目录名称

 cd /home/ops/
mv boost_1_59_0/ boost

六、安装软件依赖环境并编译安装

 1.安装软件依赖包

 yum -y install gcc gcc-c++

 2.生成编译文件:

 cmake -DCMAKE_INSTALL_PREFIX=/home/ops/mysql -DMYSQL_UNIX_ADDR=/home/ops/mysql/mysql.sock -DSYSCONFDIR=/etc -DSYSTEMD_PID_DIR=/home/ops/mysql -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=1 -DEXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/home/ops/mysql/data -DWITH_BOOST=/home/ops/boost -DWITH_SYSTEMD=1

 -DCMAKE_INSTALL_PREFIX=/home/ops/mysql #指定安装路径 -DMYSQL_UNIX_ADDR=/home/ops/mysql/mysql.sock #mysql.sock文件生成路径,发起本地连接时使用 -DSYSCONFDIR=/etc #配置文件路径 -DSYSTEMD_PID_DIR=/home/ops/mysql #PID文件指定路径 -DMYSQL_TCP_PORT=3306 #msyql监听端口 -DDEFAULT_CHARSET=utf8 #指定默认字符集 -DDEFAULT_COLLATION=utf8_general_ci #校验字符,指定默认编码 -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据 -DWITH_EXTRA_CHARSETS=1 #支持额外的字符集 -DEXTRA_CHARSETS=all #安装所有扩展字符集 -DWITH_INNOBASE_STORAGE_ENGINE=1 #安装innodb存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 #安装archive 存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 #安装blackhole存储引擎 -DWITH_MYISAM_STORAGE_ENGINE=1 #安装myisam存储引擎 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 #安装FEDERATED存储引擎 -DMYSQL_DATADIR=/home/ops/mysql/data #指定数据存放路径 -DWITH_BOOST=/home/ops/boost #boost库主要是在对mysql的数据备份时用到(写绝对路径) -DWITH_SYSTEMD=1 #这是MySQL 5.7原生支持Systemd的选项,如果要是用systemctl启动,就必须开启

 3.编译安装

 make && make install

七、创建MySQL文件及配置变量,调整配置文件

 1.创建mysql数据文件存放目录,修改mysql工作目录的所有者跟所属组

 cd ../mysql                                     进入到MySQL目录
mkdir data/                                     创建data目录
chown -R mysql:mysql mysql         mysql目录属主属组修改为MySQL
chmod 777  mysql/data                  mysql目录权限修改为777满权限

 2.将配置声明到环境变量中

 vim /etc/profile                    设置变量
注:在export PATH USER LOGNAME.......HISTCONTROL前面添加
export PATH=$PATH:/home/ops/mysql/bin

 注:/home/ops/mysql/bin这个路径视情况而定,另外export PATH=$PATH:/home/ops/mysql/bin添加的位置也不是固定的,可以添加到文件的其他地方,尽量添加到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL的上面

 刷新变量文件:source /etc/profile

[client]
port=3306
socket=/home/ops/mysql/mysql.sock

[mysqld]
datadir=/home/ops/mysql/data
basedir=/home/ops/mysql
socket=/home/ops/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/home/ops/mysql/mysql.pid
pid-file=/home/ops/mysql/mysql.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

八、初始化数据库

 bin/mysqld --initialize --user=mysql --basedir=/home/ops/mysql --datadir=/home/ops/mysql/data/    初始化数据库
随机密码:Zj>I(qLZl71+

九、将service服务启动脚本放到systemd目录下执行,并启动服务

 cp /home/ops/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

 sudo systemctl daemon-reload       重新加载服务
sudo systemctl start mysqld        启动MySQL服务
netstat -ntap | grep 3306          查看MySQL端口

 此时MySQL数据库为编译成功;

十、连接MySQL数据库并进行测试

 mysql -uroot -p'Zj>I(qLZl71+'      连接数据库
set password=password("123456");   修改当前root用户密码

 

 mysql -uroot -p'123456'            新密码测试登录

十一、配置MySQL数据库远程连接

CREATE USER 'root'@'%' IDENTIFIED BY '123456';       授权登录
GRANT ALL ON *.* TO 'root'@'%';                      授权用户  
create database test;                                创建数据库

测试远程登陆:mysql -uroot -h数据库所在的主机ip -p'123456'
查看是否有新建数据库;

 

  • 26
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值