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;
相关推荐
帅次3 小时前
Android 高级工程师面试:Jetpack 核心 近1年高频追问 20 题
android·面试·协程·jetpack·stateflow·lifecycle
爱笑鱼4 小时前
Handler(四):Handler 卡顿怎么定位?从 Slow delivery 到 Slow dispatch
android
九皇叔叔5 小时前
RHEL9.8 配置本地镜像仓库
android·java·缓存
私人珍藏库5 小时前
[Android] 聊天记录微备份 -聊天记录备份+本地数据备份
android·人工智能·app·软件·多功能
私人珍藏库6 小时前
[Android] PocketPal -本地离线AI助手+大模型部署神器
android·人工智能·app·软件·多功能
listening7777 小时前
HarmonyOS 6.1 跨端实战:用ArkUI-X把电商App同时跑在Android/iOS上
android·ios·harmonyos
爱笑鱼7 小时前
Handler(三):主线程、HandlerThread、Binder 线程到底怎么区分?
android
w139548564227 小时前
鸿蒙实战:报告与雷达图 ReportDao
android·华为·harmonyos·鸿蒙系统
爱笑鱼7 小时前
Handler(二):MessageQueue 为什么不是普通队列?
android
阿巴斯甜8 小时前
Android Studio 新版 Logcat
android