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;
相关推荐
红米饭配南瓜汤2 小时前
Android显示系统(04)- OpenGL ES - Shader绘制三角形
android·音视频·媒体
码农老张Zy2 小时前
【PHP小课堂】学习PHP中的变量处理相关操作
android·开发语言·学习·php
尹中文2 小时前
Android ConstraintLayout 约束布局的使用手册
android
苗壮.2 小时前
Android 俩个主题的不同之处 “Theme.AppCompat vs android:Theme.Material.Light.NoActionBar”
android·gitee·appcompat
努力进修2 小时前
【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石
android·java·数据结构
闲暇部落4 小时前
OpenGL ES详解——文字渲染
android·freetype·文字渲染·位图字体
画个太阳作晴天9 小时前
Android10 设备死机的问题分析和解决
android·framework·anr
SHUIPING_YANG12 小时前
Typora设置自动上传图片到图床
android
Ai 编码助手12 小时前
php多进程那点事,用 swoole 如何去解决呢
android·php·swoole
alexhilton14 小时前
群星闪耀的大前端开发
android·kotlin·android jetpack