一、安装环境

1、操作系统版本:CentOS
7.5

2、MySQL版本:5.7.22(社区版)

3、MySQL安装包:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

关于Ubuntu16.04用tar.gz通用压缩包安装mysql5.7.17失败 50C
系统Ubuntu16.04 64位
准备安装MySQL 57.7.17

本文详细介绍MySQL5.7的三种安装方式(二进制,yum,源码编译)的特点、优劣。并以操作系统为CentOS
7为例,图解每一种安装方式的详细过程。

二、安装步骤

概要
apt-cache search libaio #安装mysql依赖库
tar -zxvf -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#解压压缩包
mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql #修改名字
groupadd mysql #添加用户组
useradd -r -g mysql -s /bin/false mysql #添加用户
cd mysql #进入mysql目录
mkdir mysql-files #新建目录
chmod 750 mysql-files #给目录授权为mysql 用户
chown -R mysql .
chgrp -R mysql .
bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data #初始化mysql数据库
bin/mysql_ssl_rsa_setup #创建SSL证书,密钥文件和RSA密钥对文件
chown -R root . #给当前目录授权为用户root
chown -R mysql data mysql-files
bin/mysqld_safe –user=mysql & #启动mysql
问题卡在这了
图片 1

# ​MySQL server三种安装方式对比

1、检查系统中是否安装了其他版本的MySQL(root用户)

首先检查系统中是否安装了其他版本的MySQL,使用以下命令进行检查:

yum list installed | grep mysql

yum list installed | grep mariadb

MariaDB数据库是MySQL数据库的一个分支,一般CentOS
7系统中会默认安装该数据库,将其删除:

yum remove
mariadb-libs.x86_64

并且删除/etc/目录下的my.cnf文件:

rm –r /etc/my.cnf

详细步骤
1.安装准备
1.1查看自己的Linux系统版本
命令: cat /etc/issue

图片 2

2、安装依赖包(root用户)

在Linux环境下安装MySQL需要先安装libaio依赖包,如果没有安装该依赖包会导致数据目录初始化和服务启动失败。

先检查系统中是否已经安装了libaio依赖包:

yum list installed | grep libaio

如果没有安装该依赖包,则进行安装:

yum install libaio

对于MySQL
5.7.19及以上版本还需要安装libnuma依赖包,使用以下命令检查系统中是否已经安装该依赖包:

yum list installed | grep numactl

如没有安装,可使用以下命令进行安装:

yum install numactl

再具体点:uname -a 86_64就代表64位的系统

# MySQL 版本选择

3、创建mysql用户组和mysql用户(root用户)

初始化MySQL以及启动MySQL服务时需要指定用户,此处使用mysql用户(也可使用其他用户和组)。

先创建mysql用户组:

groupadd mysql

再创建mysql用户,并指定该用户的所属组为mysql用户组:

useradd -g mysql mysql

最后为mysql用户设置登录密码:

passwd mysql

OK,咱们确定了自己的系统,现在去MySQL官网下载二进制压缩包源文件
1.2官网下载安装包

图片 3
选择对应的安装包
图片 4

图片 5

4、解压缩MySQL安装包(mysql用户)

将MySQL安装包拷贝至安装目录下(这里为/app):

cp mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /app/

解压缩:

tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

备注:

以上两个步骤执行成功的前提是MySQL安装包的属主为mysql用户,并且mysql用户对/app/目录有操作权限。

可使用以下命令将MySQL安装的属主设置为mysql用户(root用户操作):

chown mysql:mysql mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

使用以下命令对/app/目录单独为mysql用户赋予操作权限(root用户操作):

setfacl -m u:mysql:rwx /app/

图片 6
下载的话,有两种方式:
1.从官网下载,然后用FTP软件上传到服务器上。
2.使用在线下载的方式,使用命令:
wget -P /usr/local/support

* 稳定版:选择开源社区版的稳定版(GA版本)

5、重命名(mysql用户)

将解压后的目录重命名为mysql:

mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql

注:-P /usr/local/support 是指定下载目录

* 选择MySQL数据库GA版发布后6个月以上的GA版本

6、创建数据目录(mysql用户)

MySQL
5.7版本没有自带data目录,需要自行创建,进入mysql目录下创建data目录:

mkdir data

不要问我为啥网速这么快。。。。我也震惊了
图片 7

* 选择前后几个月没有大的BUG修复的版本,而不是大量BUG修复后的集中版本

7、创建my.cnf配置文件(mysql用户)

MySQL从5.7.18版本开始不再自带my.cnf,可自行创建该配置文件。在mysql目录下创建my.cnf文件:

touch my.cnf

编辑my.cnf文件:

vi my.cnf

在该文件中输入以下内容:

[mysqld]
basedir=/app/mysql/
datadir=/app/mysql/data/
port=3307
user=mysql
character-set-server=utf8
collation-server=utf8_general_ci

其中,basedir表示MySQL根目录;datadir表示数据存放目录;port为端口号,MySQL默认的端口号为3306,为了安全起见,一般不使用默认端口号;user指定启动MySQL服务的用户;character-set-server表示使用的字符集;collation-server表示该字符集使用的排序规则。

备注:

MySQL初始化时默认的根目录为/usr/local/mysql/,所以如果不在初始化时指定根目录和数据目录,则需要将/app/mysql/链接到/usr/local/mysql/下。进入/usr/local/目录下:

cd /usr/local/

创建软链接映射到/app/mysql/目录:

ln –s /app/mysql/ mysql

这里不采用这种方式,而是采用配置文件方式指定MySQL根目录和数据目录。

2.开始安装:
参考官方文档
①为了预防以前安装过mysql,导致旧版本遗留文件冲突,所以需要把以前安装的文件都删除掉
/etc/my.cnf /etc/msyql目录
查找命令: find / -name 文件名or目录名
删除命令: rm -rf 文件名or目录名
②安装mysql的依赖库libaio
搜索命令 apt-cache search libaio
apt-cache search libaio

* 最好向后较长时间没有更新发布的版本

8、初始化MySQL(mysql用户)

进入到bin目录下:

cd /app/mysql/bin/

初始化MySQL:

./mysqld --defaults-file=/app/mysql/my.cnf –initialize

此时,MySQL会随机生成一个root用户的密码,需要将该密码记住:

图片 8

如果搜索没有显示结果,就安装
安装命令:apt-get install libaio1
注:如果报错,则需要使用更新命令 apt-get update

*
如果和云平台混合使用,最好选择5.6,目前大部分云厂商提供的MySQL都是5.6版本。

9、生成ssl连接密钥文件(mysql用户)

使用以下命令生成加密连接的密钥文件:

./mysql_ssl_rsa_setup --defaults-file=/app/mysql/my.cnf

执行结果如下:

图片 9

更新后就可以安装依赖库了
③解压压缩包
命令: tar -zxvf -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

*
如果是自建,并且以后都想自己运维数据库,建议使用5.7,5.7在性能和数据同步方面做了很大的改进,特别是并行复制和多源复制。

10、启动MySQL服务(mysql用户)

最后启动MySQL服务:

./mysqld_safe --defaults-file=/app/mysql/my.cnf &

④改名字,便于操作
命令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
④添加用户组, 添加用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
⑤进入msyql目录,创建目录mysql-files
cd mysql
mkdir mysql-files
⑥给文件夹授权为用户mysql
chmod 750 mysql-files
chown -R mysql .
chgrp -R mysql .
⑦初始化数据库
bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data

# RPM安装MySQL5.7

三、修改root用户密码

登录MySQL,密码为上文中随机生成的密码:

/app/mysql/bin/mysql -u root -p -P 3307

修改root用户的登录密码,改为“root123”:

set password for root@localhost = password('root123');

⑧创建SSL证书,密钥文件和RSA密钥对文件
bin/mysql_ssl_rsa_setup
⑨给当前目录授权为用户root
chown -R root .
chown -R mysql data mysql-files
⑩问题来了
每当我执行到这个命令时,就卡那不懂了。。。。请教大神,这是为什么

操作系统默认包含的MySQL源比较老旧,如果需要安装MySQL5.7,则需要从MySQL网站(

bin/mysqld_safe –user=mysql & # Next command is optional
图片 10

## 1. RPM包简介

然后: 执行 mysql -u root -p

“`table

再输入密码,显示:

RPM包(<)    |      简介(<)     

图片 11
尝试解决
网上搜的方法:
在my.cnf 中添加sockt
图片 12
使用该方法启动
mysql -p –socket=/tmp/mysql.sock
图片 13

mysql-community-server    |      数据库服务端与相关工具       

另外,参考这篇博客

mysql-community-client        |      MySQL客户端

mysql-community-common        |    服务端和客户端常用库文件

也是安装失败,请大神指点!

mysql-community-devel        |      客户端开发用的头文件及库

PS:
我用apt-get install mysql-server
可以成功安装,但是用通用二进制压缩包离线安装一直安装不成功,这个问题纠结我很久了,成了心结,所以一定要解决掉!

mysql-community-libs        |      MySQL数据库客户端共享库

mysql-community-libs-compat        |      兼容老版本的共享库

mysql-community-embedded      |      MySQL嵌入式版本

mysql-commercial-embedded-devel        |    嵌入式版本的头文件与库

mysql-community-test        |    MySQL测试套件

“`

## 2. 安装过程

**1. 安装依赖**

“`bash

yum install libaio

“`

**2. 下载MySQL 5.7 yum repo**

到下载页面 下载repo

“`bash

wget

“`

**3. 安装MySQL yum repo**

“`bash

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

“`

图片 14

**4. 激活MySQL57版本**

使用命令查看系统安装的mysql repo:

“`bash

 yum repolist all | grep mysql

“`

图片 15

激活MySQL5.7命令:

“`bash

yum -y install yum-utils 

yum-config-manager –enable mysql57-community

yum-config-manager –disable mysql56-community

yum-config-manager –disable mysql55-community

“`

**5. 卸载mariadb**

“`bash

rpm -qa | grep mariadb

yum remove mariadb-libs

“`

发表评论

电子邮件地址不会被公开。 必填项已用*标注