本篇内容介绍了“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 xvf mysql-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的多种安装方式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。