【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装

一、实验环境

操作系统: CentOS 7.2 Minimal

MySQL 版本: 5.7.16

IP: 192.168.1.105

二、防火墙、selinux设置

# setenforce 0

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g'   /etc/selinux/config

# firewall-cmd --permanent --zone=public --add-port=3306/tcp

# firewall-cmd --reload

三、卸载mariadb相关组件

注:一般是 mariadb-libs

# rpm  -e   --nodeps  $(rpm -qa | grep mariadb*)

# rpm -qa | grep mariadb* | xargs rpm -e  --nodeps

四、从MySQL官网下载MySQL rpm合集包

# wget    http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar

# tar  -xvf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第1张图片

解压下载的MySQL bundle包),你会看到有12个rpm包


【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第2张图片


实际安装一个MySQL数据库,我们只需要安装5个rpm包


【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第3张图片
【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第4张图片

五、检查依赖,安装依赖

# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n'   libaio    net-tools  perl

# yum  -y install epel-release

# yum -y install  libaio   net-tools  

# yum -y install perl  

安装perl,主包加依赖共有27个

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第5张图片

四、按顺序安装MySQL组件

# rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm

# rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm


# rpm -qa | grep mysql-community


【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第6张图片

安装结束后会在Linux中的各种目录生成必要的文件,如下表:


【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第7张图片

五、自定义数据目录

MySQL的数据目录默认是/var/lib/mysql ,当然你也可以自定义数据存放目录

# mkdir /opt/data/mysql

# vim  /etc/my.cnf

datadir=/opt/data/mysql

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第8张图片

注意:

socket=/var/lib/mysql/mysql.sock 这个配置没有更改的必要

如果你自定义为  socket=/var/lib/mysql/mysql.sock,那么启动后连接数据库时就会报错

如果更改了默认,那么数据库启动后,需要做一个软链接

# ln -s /opt/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

# chown  -R mysql:mysql /opt/data/mysql

六、初始化MySQL

初始化MySQL,可以通过执行 mysqld --initialize 或者 mysqld --initialize-insecure

使用 --initialize 选项,以“安全模式”初始化,会在日志中生成一个随机的root初始密码

使用--initialize-insecure选项,以“非安全模式”初始化,没有root密码生成,你需要及时为MySQL指定一定强度的root密码


方式一、以“安全模式”初始化

# mysqld  --initialize   --datadir=/opt/data/mysql  --user=mysql

#  cat /var/log/mysqld.log | grep "temporary password"

# systemctl start mysqld

# systemctl status mysqld

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第9张图片

# mysql -u root -p"*simYaJY=7zH"

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第10张图片

首次登录,必须更改随机的root初始密码,且密码强度需满足一定要求,才能执行数据库操作

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的新密码';

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第11张图片

# mysql -u root -p"MySQL@123"

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第12张图片
【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第13张图片


方式二、以 “非安全模式”初始化

# mysqld --initialize-insecure --datadir=/opt/data/mysql--user=mysql

# systemctl start mysqld

# systemctl  status mysqld.service

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第14张图片

#  mysql -u root  --skip-password

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第15张图片

投入生产前,你需要立刻为MySQL设置一个root密码

交互式设置

# mysql -u root --skip-password

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的新密码';

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第16张图片

非交互式设置

# mysql -u root --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的新密码'"

【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装_第17张图片

七、参考

The world's most popular open source database 

https://dev.mysql.com

A Quick Guide to Using the MySQL Yum Repository

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

Installing MySQL on Linux Using the MySQL Yum Repository

https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

CentOS Linux 7离线安装MySQL 5.7.x

https://zhuanlan.zhihu.com/p/34719781

你可能感兴趣的:(【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安装)