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;
相关推荐
2501_915918415 小时前
iOS 开发全流程实战 基于 uni-app 的 iOS 应用开发、打包、测试与上架流程详解
android·ios·小程序·https·uni-app·iphone·webview
lichong9515 小时前
【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之dist打包发布在Android工程asserts里
android·vue.js·iphone
Android出海5 小时前
Android 15重磅升级:16KB内存页机制详解与适配指南
android·人工智能·新媒体运营·产品运营·内容运营
一只修仙的猿6 小时前
毕业三年后,我离职了
android·面试
编程乐学6 小时前
安卓非原创--基于Android Studio 实现的新闻App
android·ide·android studio·移动端开发·安卓大作业·新闻app
雅雅姐7 小时前
Android14 init.rc中on boot阶段操作4
android
fatiaozhang95278 小时前
中国移动中兴云电脑W132D-RK3528-2+32G-刷机固件包(非原机制作)
android·xml·电脑·电视盒子·刷机固件·机顶盒刷机
Android出海10 小时前
Google Play账户与App突遭封禁?紧急应对与快速重构上架策略
android·网络·重构·新媒体运营·产品运营·内容运营
恋猫de小郭10 小时前
Flutter 官方 LLM 动态 UI 库 flutter_genui 发布,让 App UI 自己生成 UI
android·前端·flutter
锅拌饭10 小时前
saveEnabled导致的Fragment大量泄露
android