Centos7安装MySQL8.0详细教程(压缩包安装方式)

本章教程,主要介绍如何在Centos7上安装MySQL8.0版本数据库(压缩包安装方式)

一、卸载系统自带的 Mariadb

1、查询

bash 复制代码
rpm -qa|grep mariadb

2.、卸载

如果有查询结果,就进行卸载,没有就跳过该步骤。

bash 复制代码
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

二、下载MySQL

下载地址:https://downloads.mysql.com/archives/community/

这里需要知道自己的linux的glibc版本,不然安装的时候会提示glibc版本过低。查询方法如下:

bash 复制代码
rpm -q glibc

下载之后,将压缩包上传到服务器上,准备安装MySQL。

三、安装步骤

说明:本次安装教程,是在之前没有安装过MySQL的系统上进行的,如果你之前安装过MySQL需要将MySQL相关的配置进行删除,包括用户组,以及MySQL相关的文件夹,避免在安装过程中出现错误。

1、解压安装包

将MySQL压缩包解压到/usr/local/mysql目录中。

bash 复制代码
mkdir -p /usr/local/mysql
tar --strip-components=1 -xvf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz  -C /usr/local/mysql

2、创建MySQL组和用户

bash 复制代码
# 创建用户组
groupadd mysql
# 创建用户并加入mysql用户组
useradd -g mysql mysql

3、更改所属的组和用户

bash 复制代码
# 进入到/usr/local目录
cd /usr/local

chown -R mysql mysql/
chgrp -R mysql mysql/
chown -R mysql:mysql /usr/local/mysql

# 进入到mysql目录,创建data和logs目录
cd mysql && mkdir -p data logs && chown -R mysql:mysql data logs

4、新建MySQL配置文件

bash 复制代码
vim /etc/my.cnf
bash 复制代码
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#禁用dns解析
skip-name-resolve
#设置3306端口
port = 3306
#设置mysql的安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
#允许最大连接数
max_connections=200
#允许连接失败的次数
max_connect_errors=10
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用"mysql_native_password"插件认证
default_authentication_plugin=mysql_native_password
#设置服务器接收数据包大小
max_allowed_packet=64M
#配置错误日志
log_error=/usr/local/mysql/logs/mysql-error.log
#配置进程文件
pid-file=/usr/local/mysql/mysql.pid
#设置客户端发送数据包大小
max_allowed_packet=64M
#使MySQL不区分大小写
lower_case_table_names=1

给配置文件赋予权限

bash 复制代码
chown 777 /etc/my.cnf 

5、初始化MySQL

bash 复制代码
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize

6、添加mysql服务,并设置开机自启

bash 复制代码
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
ln -s /usr/local/mysql/bin/mysql /usr/bin

四、启动MySQL服务

bash 复制代码
# 启动
service mysql start
# 查看状态
service mysql status
# 停止
service mysql stop

五、查看临时密码,并登陆MySQL

bash 复制代码
cat /usr/local/mysql/logs/mysql-error.log
bash 复制代码
mysql -u root -p

填写临时密码,注意密码输入的时候是不可见的,直接复制粘贴密码即可。

六、修改密码

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

初次使用的时候,需要先修改密码,否则会报以上错误

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

七、开启远程访问

如果你需要开启远程访问,可以用以下方式完成

注意事项:如果是虚拟机,记得关闭防火墙或者添加3306端口开放,如果是服务器,记得在服务器后台中的安全组中添加3306端口开放,否则远程连接的时候,会连接不上,在远程连接的时候,切勿使用弱密码,否则数据库会被脚本工具扫描,会造成不可估量的损失。

bash 复制代码
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
select host, user from user;
相关推荐
nee~1 小时前
Android设备USB连接转无线操作(windows)
android·windows
sun0077002 小时前
android上ethernet和wifi共存
android
ttthe_MOon2 小时前
MySQL 基础入门:核心概念、安装部署与常用命令
mysql·adb
青莲8433 小时前
Android Jetpack - 3 LiveData
android·前端
小蜜蜂嗡嗡3 小时前
flutter namespace问题
android·flutter
Cat God 0073 小时前
MySQL-查漏补缺版(六:MySQL-优化)
android·数据库·mysql
QING6184 小时前
Jetpack Compose Brush API 简单使用实战 —— 新手指南
android·kotlin·android jetpack
Swizard4 小时前
别让 AI 假装在工作:Android "Vibe Coding" 的生存指南
android·java·vibe coding
zwm_yy5 小时前
mysql主从主备回顾
运维·mysql·adb
电饭叔5 小时前
《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之一(Luhn算法解释)
android·java·python