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

测试远程访问

相关推荐
哈哈真棒1 小时前
sparkSQL读入csv文件写入mysql(2)
数据库·mysql
Cynicism_Smile1 小时前
Mysql 8.0.32 union all 创建视图后中文模糊查询失效
数据库·mysql
2401_836836592 小时前
mysql集群
mysql·adb
ZHOU_WUYI2 小时前
MySQL 与 FastAPI 交互教程
mysql·fastapi
Code哈哈笑2 小时前
【基于Spring Boot 的图书购买系统】深度讲解 用户注册的前后端交互,Mapper操作MySQL数据库进行用户持久化
数据库·spring boot·后端·mysql·mybatis·交互
Nuraliye3 小时前
IP到国家代码映射之GeoLite2导入到MySQL形成数据字典
mysql·geolite2·geoip_country_blocks·geoip_country_locations·ip到国家代码映射
Musennn5 小时前
MySQL多条件查询深度解析
大数据·数据库·mysql
伤不起bb8 小时前
MySQL 高可用
linux·运维·数据库·mysql·安全·高可用
运维成长记14 小时前
mysql数据库-中间件MyCat
数据库·mysql·中间件
冼紫菜14 小时前
[特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
java·linux·服务器·后端·centos