1. YUM方式安装
1.1 下载安装包
https://dev.mysql.com/downloads/repo/yum/
下载对应版本的安装包
上传至Linux下
1.2 安装Yum资源包
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
1.3 yum安装MySQL服务
yum -y install mysql-server
2. RPM方式安装
2.1 下载安装包
https://dev.mysql.com/downloads/mysql/
通过查看系统版本
cat /proc/version
确定下载哪个安装包
2.2 上传至系统然后解压
tar -xvf mysql-8.4.1-1.el7.x86_64.rpm-bundle.tar
2.3 先安装服务器和客户端库的通用文件
rpm -ivh mysql-community-common-8.4.1-1.el7.x86_64.rpm
2.4 安装 MySQL 打包 MySQL 正则表达式所需的 ICU 数据文件
rpm -ivh mysql-community-icu-data-files-8.4.1-1.el7.x86_64.rpm
2.5 安装 MySQL 客户端应用程序的共享插件
rpm -ivh mysql-community-client-plugins-8.4.1-1.el7.x86_64.rpm
2.6 安装 MySQL 数据库客户端应用程序的共享库
rpm -ivh mysql-community-libs-8.4.1-1.el7.x86_64.rpm
如果安装过程中报错
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-8.4.1-1.el7.x86_64
删除原有的mariadb-libs
yum remove mysql-libs
2.7 安装 MySQL 客户端应用程序和工具
rpm -ivh mysql-community-client-8.4.1-1.el7.x86_64.rpm
2.8 安装 MySQL 数据库服务器及相关工具
rpm -ivh mysql-community-server-8.4.1-1.el7.x86_64.rpm
3. 配置文件
cd /etc/my.cnf.d/
以下是mysql-server.cnf初始配置,可根据情况修改(或者编辑 /etc/my.cnf
文件)
[mysqld]
# 数据存储目录
datadir=/var/lib/mysql
# socket文件路径
socket=/var/lib/mysql/mysql.sock
# 日志文件
log-error=/var/log/mysql/mysqld.log
# 进程文件
pid-file=/run/mysqld/mysqld.pid
4. 权限设置
# 这里设置mysql用户的数据存储目录权限
chown -R mysql:mysql /home/data/mysql
5. 初始化MySQL
mysqld --initialize
6. 权限和安全设置
6.1 关闭SELinux
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,在进程层面管控文件系统资源的访问的一种安全机制,进程只能访问那些在他的任务中所需要文件。
那为什么要关闭这个很好的功能呢?
SELinux安全机制较复杂,他会导致mysql用户没有权限
临时关闭SELinux
setenforce 0
修改/etc/selinux/config配置文件,将SELINUX设置为disabled
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
6.2 重新给mysql用户授权数据目录
chown -R mysql:mysql /home/data/mysql
7. 启动MySQL服务
systemctl start mysqld
systemctl stop mysqld
systemctl status mysqld
8. 验证 MySQL 安装
mysqladmin --version
9. 查看默认root密码
了加强安全性,MySQL为root用户随机生成了一个临时密码,可通过日志查看,默认日志在/var/log/mysql/mysqld.log
文件
或者 /var/log/mysqld.log
文件
# 这里查询的是日志文件对应etc下配置的文件路径
grep "password" /var/log/mysql/mysqld.log
10. 使用临时密码登录
mysql -uroot -p
输入密码
11. 修改root用户密码
alter user 'root'@'localhost' identified by '新密码';
12. 创建新用户
-- 创建用户site
CREATE USER 'site'@'%' IDENTIFIED BY '密码';
-- 授予所有表权限
GRANT ALL PRIVILEGES ON *.* TO 'site'@'%' WITH GRANT OPTION;
-- 刷新权限表
flush privileges;
13. 设置root用户可远程登录
-- 切换至mysql数据库
use mysql;
-- 修改允许IP
update user set host='%' where user='root';
-- 刷新权限
FLUSH PRIVILEGES;