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 小时前
索引失效的几种场景
数据库·mysql
969库库库1 小时前
MySQL-作业1
数据库·mysql
你喝不喝热水啊2 小时前
深入浅出mysql分库分表
数据库·mysql
霖烟易辞2 小时前
MySQL的安装
数据库·mysql
chenyang_883 小时前
MySQL——备份
数据库·mysql
一碗谦谦粉3 小时前
MySQL之主从同步、分库分表
数据库·mysql
ing657689 小时前
基于weixin小程序校园快递系统的设计
java·spring boot·后端·mysql·课程设计
霸道流氓气质10 小时前
Mysql中视图的使用以及常见运算符的使用示例和优先级
android·mysql·adb
IDC02_FEIYA10 小时前
CentOS 7报错Erro:NetworkManager is not running怎么处理?
linux·运维·centos
糊涂涂糊涂涂10 小时前
Centos安装Snaped
linux·运维·centos