Centos7源码安装 mysql
Posted 超凡脫俗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7源码安装 mysql相关的知识,希望对你有一定的参考价值。
源码安装概念:
注意事项
1、源码包是从官方网站上下载来的,下载的文件常见格式一般是“.tar.gz”或".tar.bz2"。
2、源代码下载后的保存位置:"/usr/src 保存内核源代码,/usr/local/src 保存用户下载的源代码"
3、软件安装位置默认目录是"/usr/local/软件名",为方便管理与卸载,需要单独规划安装目录
4、软件安装报错一出现"error"或"warning"字样,其二是安装过程停止,如没停止只是出现警告信息,则只是软件部分功能无法使用,并非报错。
安装步骤
1、下载软件包
2、解压缩
3、进入解压目录
4、./configure软件配置与检查。
<1>安装前需要检测系统环境是否符合安装需求
<2>"./configure --help"查询其支持功能
一般是通过"./configure–prefix=安装路径"来指定安装路径。
<3>把系统环境检测结果、定义好的功能选项写入Makefile文件,后续编译和安装需要依赖该文件内容。
6、make 编译
make编译会调用gcc编译器,并读取Makefile文件中信息进行系统软件编译,编译目的是把源码程序转变为Linux识别的可执行文件,编译会比较费时,
7、make clean 清空编译内容(非必须步骤)
如果"./configure"或"make"编译中报错,那么重新执行命令前一定要执行make clean命令,它会清空Makefile文件或编译产生的".o"头文件。
8、make install 安装
真正的安装过程,一般会写清楚程序的安装位置,如果未指定安装目录,则可以把这个命令执行过程保存下来,以备将来删除使用。
linux编译安装都需要依赖安装包 gcc gcc-c++ make,mysql 5.5以上版本(包含mysql 5.5版本)都需要使用cmake工具进行编译,不能使用./configure编译),mysql 5.7以上版本(包含 mysql 5.7版本)在使用cmake进行编译时会提示错误需要boost软件包支持。
源码包下载
https://downloads.mysql.com/archives/community/—源码包下载地址
版本:5.7.25->Source Code->Generic Linux(Architecture Independent),选择mysql-boost-版本.tar.gz—选择版本号
安装部署
rpm -qa |grep -i mysql---先检查本机是否安装mysql
/etc/init.d/mysqld stop---mysql数据库停止,卸载前先停止它
/etc/init.d/mysqld status---mysql状态,再检查本机是否安装mysql
rpm -ev mysql-server-5.1.71版本号---使用rpm -ev卸载组件会提示先卸载依赖包,加--nodeps可以忽略依赖包卸载
whereis mysql---查看是否有残留mysql目录或文件
find / -name mysql
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison ---yum在线安装编译所需工具和库
useradd -s /sbin/nologin mysql---添加用户
mkdir -p /data/mysql/data---建立所需目录
chown -R mysql:mysql /data/mysql---并更改所有者为mysql
tar -zxvf mysql-boost-5.7.25.tar.gz -C /usr/local/mysql/---将下载好的mysql解压到/usr/local/mysql目录下
cd /usr/local/mysql---切换到/usr/local/mysql目录下
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost ---编译安装
使用ls、pwd查看当前文件夹及路径,
cd mysql-5.7.25/---再进入mysql文件夹内
make && make install
编辑配置文件
vi /etc/my.cnf---编辑配置文件,测试时有修改的就是以下选项
[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/data
socket=/tmp/mysql.sock
chown -R mysql:mysql /usr/local/mysql/ ---将安装目录用户和组都更改为mysql
chown -R mysql:mysql /data/mysql/data ---将数据库数据目录和组更改为mysql,数据目录下一定要为空
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
---./代表当前目录/usr/local/mysql/,当前目录如果没有.mysql,在/usr/local/mysql/bin中,听说绝对路径也ok。
cp mysql.server /etc/init.d/mysqld ---在/usr/local/mysql/support-files目录下,拷贝可执行配置文件
service mysqld start---启动 ,如果未配置socket=/tmp/mysql.sock,会报错
./mysql -hlocalhost -uroot -p---测试连接,在bin目录下执行,密码为空,回车即可。
PATH=/usr/local/mysql/bin:$PATH---修改环境变量
source /etc/profile---重启
systemctl enable mysqld---设置开机自启动
以上是关于Centos7源码安装 mysql的主要内容,如果未能解决你的问题,请参考以下文章