下载对应系统版本的MySQL
OperatSystem选择source code ,以及相应的OS version,本人是CentOS6.5安装,所以选择el6(Red Hat Enterprise Linux 6)
发现只有rpm的包,包名mysql-community-5.7.23-1.el6.src.rpm,没问题,下载即可。
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-5.7.23-1.el6.src.rpm
安装依赖包
这里用的是yum安装,也可进行源码安装
yum install -y gcc gcc-c++ ncurses-devel perl
创建用户及目录权限配置
创建mysql用户
groupadd mysql
useradd -r -g mysql mysql
创建数据存储目录和日志存储目录,并设置访问权限,文件目录可自定义
mkdir -p %mysql_data_home%/data
chown mysql:mysql %mysql_data_home%/data
mkdir -p %mysql_data_home%/log
chown mysql:mysql %mysql_data_home%/log
安装mysql
解压rpm包
之前下载的mysql源码包是rpm的,需求对其进行解压
#专门创建一个文件夹,放置rpm包中的内容
mkdir mysql_source_code
mv mysql-community-5.7.23-1.el6.src.rpm mysql_source_code/
cd mysql_source_code
#使用rpm2cpio对rpm包进行解压
rpm2cpio mysql-community-5.7.23-1.el6.src.rpm | cpio -div
解压后,可发现rpm包中共有6个文件
文件名 | 用途 |
---|---|
boost_1_59_0.tar.bz2 | mysql需要的boost组件 |
filter-provides.sh | rpm包安装所需文件 |
filter-requires.sh | rpm包安装所需文件 |
mysql-5.1.72.tar.gz | mysql-5.1.72版本 |
mysql-5.7.23.tar.gz | mysql-7.7.23版本 |
mysql.spec | rpm包安装所需文件 |
boost组件
此处如果只为安装mysql该组件可不用安装,只需解压到指定目录,安装mysql时引用该目录即可。
不过percona-xtrabackup需要用到,所以本人进行了安装了。
#创建boost目录
mkdir -p %depend_home%/boost
#解压boost压缩包
tar -jxvf boost_1_59_0.tar.bz2 -C %depend_home%/boost
#安装,安装时依赖gcc库,请确保所有依赖库已正确安装
cd %depend_home%/boost
./boostrap.sh
./b2 install
万事具备,安装MySQL
mysql cmake 配置可参看https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
# 创建mysql安装目录
mkdir %mysql_home%
# 安装
cmake \
-DCAMKE_INSTALL_PREFIX=%mysql_home% \
-DMYSQL_UNIX_ADDR=%mysql_home%/mysql.sock \
-DMYSQL_DATADIR=%mysql_data_home%/data \
-DDEFAULT_CHARSET=utf8 \
-DSYSCONFDIR=/etc \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=%depend_home%/boost
make
make install
初次设置mysql
首先配置my.cnf,默认路径为/etc/my.cnf,其中所有的配置需要根据自己CMAKE参数的实际环境设置
[mysqld]
user = mysql
port = 3306
datadir = %mysql_data_home%/data
socket = %mysql_home%/mysql.sock
pid-file = %mysql_home%/mysql.pid
[mysqld_safe]
log-error = %mysql_data_home%/log/mysql_err.log
pid-file = %mysql_home%/mysql.pid
open-files-limit = 40960
[client]
port = 3306
socket = %mysql_home%/mysql.sock
安装完成后,需对数据库进行初始化
使用“–initialize”初始化完成后,会随机给出root密码
若使用”–initialize-insecure”,则不会生成密码
“–datadir”参数所指路径下不能有数据
# 先将mysql目录的权限给mysql用户及用户组
chmod -R mysql:mysql %mysql_home%
# 初始化数据库
cd %mysql_home%
bin/mysqld \
--initialize \
--user=mysql \
--basedir=%mysql_home% \
--datadir=%mysql_data_home%/data
使用MySQL
首先启动MySQL服务
此次安装为源码安装,没有自动创建系统service,得到指定目录进行手动启停
cd %mysql_home%
support-files/mysql.server start(stop)
使用MySQL
cd %mysql_home%
bin/mysql -u root -p'yourpaawd'
后记
到此,MySQL5.7的安装就结束了。参考文档如下
https://blog.youkuaiyun.com/visiontime/article/details/69063841