Centos7下mysql8.0安装教程

0 安装前事宜:检查系统有无自带的mysql旧版本或者默认的MariaDB

rpm -qa|grep -i mysql 

若返回为空即开始安装新版本mysql(8.0)

官网下载tar包,官网链接https://dev.mysql.com/downloads/mysql/

选择redhat-linux,版本的8.0 -bundle.tar(无需注册,直接下载)

1 传包,解压,安装rpm包

使用mobxterm终端工具登陆目标虚拟机,切换至root用户后,在左侧sftp工具栏上传本地mysql8.0 tar包

mkdir -p /usr/local/mysql/  先创建一个mysql的文件夹

 mv mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar /usr/local/mysql/ 移动MySQL安装包到mysql文件夹

 

 在当前文件夹中执行mysql解包:tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar

查看解包后的rpm文件 ll

删除原tar包文件

rm -rf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar

安装Mysql安装顺序安装

rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm

在执行安装库文件时报错,报错如下

rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
warning: mysql-community-libs-8.0.20-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        mariadb-libs is obsoleted by mysql-community-libs-8.0.20-1.el7.x86_64

根据依赖报错需要删除原有的库文件yum remove mysql-libs解决

继续安装client和server安装完成后查询

通过rpm -qa | grep mysql 查询已安装的mysql

rpm -qa | grep mysql
mysql-community-server-8.0.20-1.el7.x86_64
mysql-community-common-8.0.20-1.el7.x86_64
mysql-community-libs-8.0.20-1.el7.x86_64
mysql-community-client-8.0.20-1.el7.x86_64

可以看出我们刚才安装的4个mysql的rpm包均已经安装成功。

2 初始化数据库,启动mysqld服务,并加入开机启动项,改变mysql的属主为mysql用户

mysqld --initialize 初始化Mysql

chown mysql:mysql /var/lib/mysql -R 将MySQL的库文件属主和属组变更为mysql账户

systemctl start mysqld.service 启动mysql服务

 systemctl enable mysqld 将mysql加入到开机启动

3 查询mysql默认密码,初次登陆mysql并修改默认密码

刚才初始化后,为mysql8.0自动生成了密码,在mysql运行日志里检索密码关键字

cat /var/log/mysqld.log | grep temporary

2020-08-12T07:50:54.460145Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: s?ygtKl)!7_j

通过 mysql -uroot -p 敲回车键进入数据库登陆界面

通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码

修改密码后报错,报错如下:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'cgsl@123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

查询密码策略SHOW VARIABLES LIKE 'validate_password%';

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low  1-->MEDIUM  2-->strong。

重新定义密码字符修改成功。

通过 exit; 命令退出 MySQL,然后通过新密码再次登陆

4 通过以下命令,进行远程访问的授权

创建远程登录账户:

create user 'root'@'%' identified with mysql_native_password by 'Cgsl@456';

赋予远程登录账户所有权限

 grant all privileges on *.* to 'root'@'%' with grant option;

刷新权限

flush privileges;

命令修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Cgsl@123' PASSWORD EXPIRE NEVER;

刷新权限

flush privileges;

5 centos7主机上进行mysql服务端口放通

 1 firewall-cmd --zone=public --add-port=3306/tcp --permanent

  #下面3行是参数说明 

          #–zone #作用域   

          #–add-port=80/tcp #添加端口,格式为:端口/通讯协议   

         #–permanent #永久生效,没有此参数重启后失效

      #重启防火墙后看看是否生效

     2  firewall-cmd --reload #重启firewall

     3  firewall-cmd --list-ports #查看已经开放的端口 

  3306/tcp 

6 图形化工具验证mysql远程登录

先查下本机ip

使用图形化工具登录mysql8.0(推荐使用navicat for Mysql)

连接名:即自定义的会话名 如:mysql8.0

 IP地址:远程主机的ip地址

密码:root'@'%

输出这些关键信息后,点击连接测试,连接成功。

连接成功后,可以显示mysql数据库服务器上的数据库,如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值