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

测试远程访问

相关推荐
ob熔天使——武4 小时前
MySQL
数据库·mysql
深圳卢先生5 小时前
CentOS 安装jenkins笔记
笔记·centos·jenkins
野生技术架构师8 小时前
MySQL数据实时同步到Elasticsearch的高效解决方案
数据库·mysql·elasticsearch
焦虑的二狗12 小时前
Mac下载mysql
数据库·mysql·macos
weixin_4569042712 小时前
控制台打开mysql服务报错解决办法
数据库·mysql
绅士范er13 小时前
【mysql 的安装及使用】
mysql
C1829818257515 小时前
幻想读 通过多版本并发控制(MVCC)和间隙锁(Gap Lock)的组合也能防止幻读具体说下
mysql
好奇的菜鸟16 小时前
Linux 系统下的 Sangfor VDI 客户端安装与登录完全攻略 (CentOS、Ubuntu、麒麟全线通用)
linux·ubuntu·centos
鲁子狄18 小时前
[笔记] 动态 SQL 查询技术解析:构建灵活高效的企业级数据访问层
java·spring boot·笔记·sql·mysql·mybatis