CentOS7安装MYSQL8.X的教程详解

全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:924篇文章
  • 发布时间:2022年06月17日 0:49:48
  • 所属分类:html
  • 阅读次数:750次阅读
  • 标签:

1-首先查看系统是否存在mysql,无则不返回

1
# rpm -qa|grep mysql

2-安装wget

1
# yum -y install wget

3-抓取mariadb并删除包,无则不返回

1
# rpm -qa|grep mariadb

4-删除mariadb-libs-5.5.68-1.el7.x86_64

1
# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

5-配置阿里云的yum

1

6-配置成功后需要重新加载yum

1
2
3
# yum clean all    --清除yum
# yum makecache    --清除缓存
# yum repolist     --查看仓储包

7-进入tmp文件夹,并清空

1
2
# cd /tmp/
# rm -rf *

8-通过wget下载mysql8.0包(如果包不是最新的则需要注意在安装MYSQL前进行Mysql的GPG升级)
获取最新的包打开MYSQL官网wget https://dev.mysql.com/get/Downloads/

然后拼接在[wget https://dev.mysql.com/get/Downloads/]后面

1
wget https://dev.mysql.com/get/Downloads/mysql-community-server-8.0.27-1.el7.x86_64.rpm

本教程提供的yum源包

1

9-配置mysql的yum源

1
# sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

执行成功后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo 及 mysql-community-source.repo
10-进入yum.repos.d查看

1
2
# cd /etc/yum.repos.d/
# ls -l

11-开始安装Mysql

1
# yum install -y  mysql-community-server

注意:上面提到过,通过wget获取的MYSQL包不是最新的前提下有可能报错,这是因为MYSQL的GPG升级了,需要重新获取
如果无这个报错可忽略跳过本步骤

报错信息如下:

 Failing package is: mysql-community-client-8.0.28-1.el7.x86_64

 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

12-这个时候需要重执行(2022则为今年的年份),执行完GPG升级,需要重新安装

1
2
# yum install -y  mysql-community-server

13-安装完成

打开my.cnf文件增加以下 [skip-name-resolve] 语句到末尾(这一步可不做设置)

1
2
3
# vi /etc/my.cnf 
#跳过名称解析,提高数据库的连接速度
# skip-name-resolve

14-启动MYSQL服务,并查看状态,查看端口

1
2
3
# systemctl start mysqld        --启动mysql服务
# systemctl status mysqld       --查看mysql服务状态
# netstat  -nlpt | grep mysqld  --查看端口

15-设置开机启动

1
2
# systemctl enable mysqld
# systemctl daemon-reload

16-抓取mysql临时密码

1
# cat /var/log/mysqld.log  | grep password

17-登录进mysql
mysql -u<账号> -p<密码> -P<端口号,默认3306> -h<mysqld服务器IP,如果比指定"-h" 则表示本地登陆>

1
mysql  -uroot  -p

18-更改密码(必须是强密码),并刷新(mysql结尾一定要加英文分号;)

1
2
3
mysql> alter user 'root'@'localhost'  identified by 'Root123..'--修改密码(强密码)
mysql> flush privileges;                                          --刷新,立即生效
mysql> select user,host from mysql.user;                          --查看数据库中账号信息

弱密码会报错,如图

做这一步前提:必须是修改了默认的随机密码(执行步骤18)
关掉强密码,修改密码长度最短为6位数,修改密码为弱密码

1
2
3
mysql> set global validate_password.policy=0; --关掉强密码认证
mysql> set global validate_password.length=6; --密码长度最短为6位数
mysql> alter user 'root'@'localhost'  identified by '123456'--修改密码(弱密码)

19-开放3306端口,并且重启防火墙,然后查看端口,开放端口是为了外网能通过Navicat Premium等其他工具访问

1
2
3
# firewall-cmd --zone=public --add-port=3306/tcp --permanent --开放3306端口
# firewall-cmd --reload                                      --重启防火墙
# firewall-cmd --list-ports                                  --查看开放的端口

做完如上部署,重新登录进到数据库,修改user表中的Host:

 

1
2
3
4
5
6
# mysql -uroot -p123456                            --登录数据库
mysql> show databases;                             --查数据来库
mysql> use mysql;                                  --使用数据库
mysql> select Host, User from user;                --查询表
mysql> update user set Host='%' where User='root'; --修改User表内root用户的Host为%
mysql> flush privileges;                           --刷新



MYSQL知识点

如果创建一个用户,给予单个库权限

1
2
3
4
mysql> create database  test_data;                                          --创建一个数据库
mysql>  create user admin@'%' identified  by 'Admin@123..';                --创建一个新的用户 admin 密码 Admin@123..
mysql> grant all privileges on test_data.* to admin@'%' with grant option; --授权,给test_data库的所有权限
mysql> flush privileges;                                                   --刷新

MySQL5.6版本和8.0版本的的用户授权方式不同

MySQL5.6版本的用户授权

1
2
3
mysql> create user test identified by '123456';
mysql> grant all privileges on *.* to 'admin'@'%'identified by '123456' with grant option;
mysql> flush privileges ;

MySQL8.0版本的用户授权

1
2
3
mysql> create user test@'%' identified  by '123456';
mysql> grant all privileges on *.* to admin@'%' with grant option;
mysql> flush privileges;

 PS

centos7修改mysql8存储路径,Centos7.9更改MySQL8.0.16数据存放目录

说明:Linux系统采用yum方式安装的MySQL,数据存放目录默认在/var/lib/mysql/下,如果想要改变这个默认的存放目录,就需要更改一些配置,在MySQL8以前如果想要修改的话,需要改很多配置,不过在使用MySQL8的时候就简单很多了,以下是我做的测试,把过程分享给大家做个参考!

1、创建新的MySQL数据存储目录

# 使用mkdir命令创建新的MySQL数据存储目录

mkdir /var/data/databases/mysql

2、关闭MySQL服务

systemctl stop mysqld.service

3、迁移MySQL数据目录

mv /var/lib/mysql /var/data/databases/mysql/

4、编辑/etc/my.cnf文件

# 将datadir=/var/lib/mysql 和 socket=/var/lib/mysql/mysql.sock两个节点前添加#号注释掉,注释后增加新的配置,配置完成后整体节点配置如下(去掉了无效的注释):

[mysqld]

#datadir=/var/lib/mysql

#socket=/var/lib/mysql/mysql.sock

datadir=/var/data/databases/mysql/mysql

socket=/var/data/databases/mysql/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[client]

default-character-set=utf8

socket=/var/data/databases/mysql/mysql/mysql.sock

[mysql]

default-character-set=utf8

socket=/var/data/databases/mysql/mysql/mysql.sock

# 如果不想配置这么多,执行以下命令即可

in -s /var/data/databases/mysql/mysql/mysql.sock /var/lib/mysql/mysql.sock

5、重新启动MySQL服务

systemctl start mysqld.service

如果能够正常启动,则证明MySQL数据存放目录修改成功!

顶一下
(0)
100%
订阅 回复
踩一下
(0)
100%
» 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。

目前有 0 条留言 其中:访客:0 条, 博主:0 条

给我留言

您必须 [ 登录 ] 才能发表留言!