本篇内容介绍了“MySQL5.7的多种安装方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

实验平台:CentOS 6.5
mysql版本:5.7.11 社区版

①源码安装
安装依赖

yum install -y cmake gcc gcc-c++ bison automake ncurses-devel


与之前版本不同的是,5.7编译源码安装需要依赖boost 1.59
可以手动去http://www.boost.org/users/history/version_1_59_0.html下载
在linux中:

wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz


如果没有boost,或者版本低于1.59,会在cmake时抛出:

-- Could not find (the correct version of) boost.

-- MySQL currently requires boost_1_59_0


也可以选择在cmake时自动下载安装,只需要在cmake时额外指定:

-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/include/boost


如果输出如下,则表示开始自动下载boost包。

-- MySQL 5.7.11

-- Packaging as: mysql-5.7.11-Linux-x86_64

-- Downloading boost_1_59_0.tar.gz to /usr/local/include/boost

-- [download 0% complete]

-- [download 1% complete]


再确认一下cmake版本,此处是

# cmake --version

cmake version 2.8.12.2



解压后进入boost目录安装

# cd boost_1_59_0/

# ./bootstrap.sh

# ./b2 install


然后准备安装:

# groupadd mysql

# useradd -r -g mysql -s /bin/false mysql

# tar zxvf mysql-5.7.11.tar.gz

# cd mysql-5.7.11


准备cmake:

# cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql3306 \

-DMYSQL_DATADIR=/data/mysql3306/data \

-DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DMYSQL_TCP_PORT=3306 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8 \

-DMYSQL_USER=mysql \

-DENABLED_LOCAL_INFILE=1 [ \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/include/boost ]

(更多cmake选项可参考 2 Installing and Upgrading MySQL -2.9 Installing MySQL from Source)

注:若像本文之前安装过boost,则可无需指定。
若指定[]中的内容,则为自动下载boost方式安装boost。


然后make && make install ,机子稍微差一点的可能要30分钟以上。

# make

# make install


配置一下权限和配置文件:

# cd /data/mysql3306/

# chown -R mysql .

# chgrp -R mysql .

# chmod o+x /data

# cp support-files/my-default.cnf /etc/my.cnf


修改配置文件:
vi /etc/my.cnf
在[mysqld]增加

datadir = /data/mysql3306/data

basedir = /data/mysql3306/

保存退出

初始化:

# bin/mysqld --initialize --user=mysql --datadir=/data/mysql3306/data --basedir=/data/mysql3306/

若是5.7.6之前的版本,需要用mysql_install_db来初始化


启动服务:

# bin/mysqld_safe --user=mysql &


初始化后的随机密码在errlog中,形如:
[Note] A temporary password is generated for root@localhost: NP#<ey1r:gow< ey1r:gow</ey1r:gow<>

进入mysql

# bin/mysql -uroot -p'NP#<ey1r:gow'


【额外】官方建议执行mysql_ssl_rsa_setup来增加安全性,执行后会在datadir下生成相关文件。

# bin/mysql_ssl_rsa_setup






其他三种方式类似于5.7之前的版本,简单描述:


②Yum Repository 方式
http://dev.mysql.com/downloads/repo/yum/
此处我用的文件是 mysql57-community-release-el6-7.noarch.rpm
先导入到本地
yum localinstall mysql57-community-release-el6-7.noarch.rpm
然后直接安装即可
yum install mysql-server
此时同时会安装mysql-client(默认依赖包)
此种方式安装会保证是最新版本,比如官方发布了5.7.12,通过此方式安装也会是5.7.12。



③RPM 方式(DEB方式与RPM类似)
http://dev.mysql.com/downloads/mysql/
选择 Red Hat Enterprise Linux / Oracle Linux
选择对应的版本和系统架构,然后下载,比如下载RPM Bundle:
mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar
需要先卸载5.1.x的一些libs
yum remove -y mysql-libs-*

有时可能需要先安装依赖,如
yum install -y perl libaio*perl-devel libaio-devel perl-Time-HiRes perl-DBD-MySQL

解开tar包
tar xvfmysql-5.7.11-1.el6.x86_64.rpm-bundle.tar

然后
rpm -ivh *.rpm 即可,过程见下:

Preparing... ########################################### [100%]

1:mysql-community-common ########################################### [ 11%]

2:mysql-community-libs ########################################### [ 22%]

3:mysql-community-client ########################################### [ 33%]

4:mysql-community-server ########################################### [ 44%]

5:mysql-community-devel ########################################### [ 56%]

6:mysql-community-embedde########################################### [ 67%]

7:mysql-community-embedde########################################### [ 78%]

8:mysql-community-test ########################################### [ 89%]

9:mysql-community-libs-co########################################### [100%]



④二进制方式(通用linux)
http://dev.mysql.com/downloads/mysql/
选择 Linux - Generic
下载对应版本,打开包或解压,初始化,修改配置文件,启动服务即可

“MySQL5.7的多种安装方式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!