centos7安装mysql8

centos7安装mysql8

  • [1 下载MySql8安装包](#1 下载MySql8安装包)
    • [1.1 下载前准备](#1.1 下载前准备)
    • [1.2 下载压缩包](#1.2 下载压缩包)
  • [2 安装mysql8](#2 安装mysql8)
    • [2.1 创建需要用到的目录](#2.1 创建需要用到的目录)
    • [2.2 解压mysql8压缩包](#2.2 解压mysql8压缩包)
    • [2.3 创建data文件夹 储存文件](#2.3 创建data文件夹 储存文件)
    • [2.4 mysql安装目录赋予权限](#2.4 mysql安装目录赋予权限)
    • [2.5 创建用户组以及用户](#2.5 创建用户组以及用户)
    • [2.5 授权用户(删除)](#2.5 授权用户(删除))
    • [2.6 mysql初始化(下载)](#2.6 mysql初始化(下载))
    • [2.7 编辑my.cnf](#2.7 编辑my.cnf)
    • [2.8 启动mysql服务](#2.8 启动mysql服务)
    • [2.9 将mysql添加到系统进程中](#2.9 将mysql添加到系统进程中)
    • [2.10 设置mysql自启动](#2.10 设置mysql自启动)
    • [2.11 登录mysql](#2.11 登录mysql)
    • [2.12 修改密码](#2.12 修改密码)
  • [3 第三方软件远程连接](#3 第三方软件远程连接)
    • [3.1 设置允许远程登录](#3.1 设置允许远程登录)
    • [3.2 重启服务且测试](#3.2 重启服务且测试)
    • [3.3 在防火墙中将3306端口开放](#3.3 在防火墙中将3306端口开放)
    • [3.4 第三方软件测试连接](#3.4 第三方软件测试连接)
    • [3.5 重启linux后测试自启动(可选)](#3.5 重启linux后测试自启动(可选))

1 下载MySql8安装包

1.1 下载前准备

确定一下系统的glibc版本,可以使用以下命令进行查看,当前系统glibc版本:2.17

bash 复制代码
rpm -qa | grep glibc

1.2 下载压缩包

官网:https://www.mysql.com/


上面三个选项根据需要选择,这里是centos7安装mysql8

勾选好之后往下翻找到对应glibc版本相对应的

点击下面直接下载

2 安装mysql8

2.1 创建需要用到的目录

创建压缩包存放目录

bash 复制代码
mkdir /compile/package/mysql/mysql8.4.0

创建安装目录

bash 复制代码
mkdir /compile/install/mysql

2.2 解压mysql8压缩包

先将已经下载好的压缩包上传到虚拟机的存放目录里面,然后将压缩包解压到安装目录里面

bash 复制代码
# 进入到mysql8压缩包所在目录
cd /compile/package/mysql/mysql8.4.0
# 解压缩文件到当前目录下
tar -xvf mysql-8.4.0-linux-glibc2.17-x86_64.tar
# 将需要用的压缩文件解压到安装目录
tar -xvf mysql-8.4.0-linux-glibc2.17-x86_64.tar.xz -C /compile/install/mysql/

解压后的目录

将加压出来的文件夹里面的文件全部移动到 /compile/install/mysql/mysql8.4.0 里面,也可以理解为把文件名改为mysql8.4.0

bash 复制代码
cd /compile/install/mysql
mv mysql-8.4.0-linux-glibc2.17-x86_64 mysql8.4.0

2.3 创建data文件夹 储存文件

在mysql目录下创建data文件夹

bash 复制代码
cd /compile/install/mysql/mysql8.4.0/
mkdir data

2.4 mysql安装目录赋予权限

bash 复制代码
chmod -R 777 /compile/install/mysql/mysql8.4.0/

2.5 创建用户组以及用户

bash 复制代码
# 创建组
groupadd mysql
# 创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
# 将用户添加到组中
chown -R mysql:mysql ./

2.5 授权用户(删除)

将mysql文件夹的所有者和所有组都改为mysql

bash 复制代码
chown -R mysql.mysql /compile/install/mysql/mysql8.4.0/

2.6 mysql初始化(下载)

进入bin目录执行mysqld文件进行初始化

bash 复制代码
cd /compile/install/mysql/mysql8.4.0/bin/
bash 复制代码
./mysqld --user=mysql --basedir=/compile/install/mysql/mysql8.4.0/ --datadir=/compile/install/mysql/mysql8.4.0/data --initialize
txt 复制代码
要注意:这一步可能会报错,如果报错的话检查你的/compile/install/mysql/mysql8.4.0/data这个文件夹里面有没有其他文件,有的话全部删除。

初始化之后会生成一个密码要记住:u_zo1Kh7Qjo(

2.7 编辑my.cnf

bash 复制代码
vim /etc/my.cnf
txt 复制代码
[mysqld]
port=3306
basedir=/compile/install/mysql/mysql8.4.0
datadir=/compile/install/mysql/mysql8.4.0/data
character-set-server=utf8
default-storage-engine=INNODB

[mysql]
default-character-set=utf8

[client]
port=3306
default-character-set=utf8

2.8 启动mysql服务

bash 复制代码
# 进入mysql.server服务目录
cd /compile/install/mysql/mysql8.4.0/support-files/
# 启动服务
./mysql.server start

2.9 将mysql添加到系统进程中

bash 复制代码
cp /compile/install/mysql/mysql8.4.0/support-files/mysql.server /etc/init.d/mysqld

此时我们就可以使用服务进程操作mysql了

2.10 设置mysql自启动

bash 复制代码
chmod +x /etc/init.d/mysqld
systemctl enable mysqld

2.11 登录mysql

bash 复制代码
# 进入mysql bin目录
cd /compile/install/mysql/mysql8.4.0/bin/
# 进入mysql
./mysql -u root -p
txt 复制代码
执行后,输入我们初始化时记录下的随机密码,就会进入mysql
要注意输入密码是不显示的

SUCCESS则表示启动mysql成功

2.12 修改密码

可以用service mysql status 再次查看mysql启动状态

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

3 第三方软件远程连接

3.1 设置允许远程登录

sql 复制代码
use mysql
update user set user.Host='%'where user.User='root';
flush privileges;
quit

3.2 重启服务且测试

bash 复制代码
systemctl restart mysql
service mysql restart
# 查看mysql是否启动
systemctl status mysql

3.3 在防火墙中将3306端口开放

bash 复制代码
# --permanent为永久生效,没有此参数 服务器重启后配置失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

3.4 第三方软件测试连接

3.5 重启linux后测试自启动(可选)

bash 复制代码
reboot

查看mysql服务状态

bash 复制代码
systemctl status mysql

测试远程访问

相关推荐
南墙上的石头2 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
执子手 吹散苍茫茫烟波4 小时前
RC 隔离级别下 MySQL InnoDB 死锁典型案例
数据库·mysql
峥无8 小时前
深入理解MySQL事务与MVCC机制
数据库·mysql
要开心吖ZSH11 小时前
MVCC 进阶:快照读 vs 当前读、幻读与 Next-Key Lock
java·数据库·sql·mysql·mvcc
万亿少女的梦16811 小时前
基于Spring Boot的天空影院电影网站系统设计与实现
java·spring boot·mysql·vue·系统设计
万亿少女的梦16811 小时前
基于Spring Boot的社区管理系统设计与实现
java·spring boot·mysql·vue·系统设计
潘正翔11 小时前
docker基础_镜像使用
linux·运维·服务器·docker·容器·centos·devops
翔云12345612 小时前
简单概括主库上 Executed_Gtid_Set 是什么时候更新的
数据库·mysql
要开心吖ZSH12 小时前
Java事务与MySQL事务的关系及MVCC通俗解析
java·开发语言·mysql·mvcc
爱喝热水的呀哈喽12 小时前
hypermesh两个网格参数解析
服务器·数据库·mysql