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

测试远程访问

相关推荐
可观测性用观测云12 分钟前
阿里云 RDS MySQL 可观测性最佳实践
mysql
白云偷星子1 小时前
MySQL笔记14
数据库·笔记·mysql
绵绵细雨中的乡音2 小时前
MySQL 常用函数实操指南:从基础到实战案例
数据库·mysql
蓝色土耳其love2 小时前
centos 7.9 安装单机版k8s
linux·运维·服务器·kubernetes·centos
洛克大航海3 小时前
CentOS8无法使用sudo提权
linux·centos·无法使用 sudo 提权
凉栀お_3 小时前
MySQL相关知识查询表中内容(第二次作业)
数据库·mysql
Java水解3 小时前
【SQL】MySQL中空值处理COALESCE函数
后端·mysql
shuair4 小时前
mysql8支持远程访问 -mysql5.7支持远程访问
linux·mysql
白云偷星子5 小时前
MySQL笔记13
数据库·笔记·mysql
FJW0208146 小时前
关系型数据库大王Mysql——DDL语句操作示例
数据库·mysql