Centos 7 安装mysql 8

1.检查是否安装过MySQL

1.1检查去除mysql

yum remove MySQL

image-20210825090545886

1.2查看是否有MySQL依赖

rpm -qa | grep mysql

1.3若有依赖包的情况则进行删除操作

//普通删除模式
rpm -e xxx(mysql_libs)
​
//强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除
rpm -e --nodeps xxx(mysql_libs)

2.检查是否存在mariadb

rpm -qa | grep mariadb

如上述情况一样,存在mariadb,则进行卸载

image-20210825091343639

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

3.上传Mysql安装包并解压

3.1下载MySQL安装包,官网地址:

https://dev.mysql.com/downloads/mysql/

本文中安装的数据库版本为 Linux Generic MySQL 社区服务器 8.0.26

3.2 解压

由于我下载的MySQL格式为:

mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

无法用如下指令进行解压

tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

需要先用如下指令将其变成 ".tar格式" 再进行 tar -xvf 解压

xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

3.3将解压的压缩包 移动至常用的安装位置

位置 "/usr/local/"

mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/

补:一般解压的文件夹都会简化下文件夹的名字 mysql-8.0.26

进入 mysql-8.0.26文件夹 并创建mysqldb文件夹,此文件夹用于存放每个数据库的库文件

cd mysql-8.0.26/
mkdir mysqldb

4.安装MySQL依赖包

yum install libaio

5.mysql安装目录赋予权限

 chmod -R 777 /usr/local/mysql-8.0.26/

image-20210825094012227

6.创建mysql组和用户

6.1 创建用户组

groupadd mysql

创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

useradd -r -g mysql -s /bin/false mysql

6.2将用户添加到组中

chown -R mysql:mysql ./

检查

id mysql

image-20210825094854303

7.修改mysql配置文件

vi /etc/my.cnf

删除里面的配置,添加如下配置

[mysqld]
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql-8.0.26
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql-8.0.26/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=50
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

8.安装mysql

进入mysql 安装目录的bin 目录

cd /usr/local/mysql-8.0.26/bin/

安装MySQL,并记住初始化随机密码

./mysqld --initialize --console

生成的随机密码: AJCNuxm91p+y

AJCNuxm91p+y

9.启动MySQL服务

cd /usr/local/mysql-8.0.26/support-files/
./mysql.server start

image-20210825100720065

如若启动报错,百度自行解决.

可以尝试将 "mysql-8.0.26" 安装目录 重新赋予权限 再重启服务

chmod -R 777 /usr/local/mysql-8.0.26
./mysql.server start

10.将mysql添加到系统进程中

进入bin

cd /usr/local/mysql-8.0.26/bin/
cp /usr/local/mysql-8.0.26/support-files/mysql.server /etc/init.d/mysqld

此时就可以通过服务进程操作mysql

11.设置MySQL自启动

进入bin

cd /usr/local/mysql-8.0.26/bin/
systemctl enable mysqld

image-20210825101414131

此时开机自启就已经设置好了

12.修改MySQL密码

修改前先开启MySQL 服务,检查MySQL服务是否开启,如若开启的过程中出现报错

Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql-8.0.26/mysqldb/iZuf69hnxir266m4aqb8teZ.pid).

因为之前启动的服务中的缓存文件无法进行更新造成的

处理方法 删除对应的pid缓存文件

chown -R mysql /usr/local/mysql-8.0.26/
chown -R '安装MySQL时创建的用户' '/usr/local/安装的目录'

进入bin

cd /usr/local/mysql-8.0.26/bin/
./mysql -u root -p

输入临时密码

修改密码

mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

13.设置远程登录

再数据库中操作

mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

14.重启服务测

systemctl restart mysql 
service mysql restart

15.查看是否已经启动

systemctl status mysql

image-20210825104220283

猜你喜欢

转载自blog.csdn.net/m0_49969111/article/details/119910079