centos7安装mysql8.0

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

mysql8.0安装步骤:

1、添加yum安装库

安装库的下载地址:https://repo.mysql.com//mysql80-community-release-el7-2.noarch.rpm

wget https://repo.mysql.com//mysql80-community-release-el7-2.noarch.rpm

rpm -Uvh mysql80-community-release-el7-2.noarch.rpm

2、安装mysql

yum install mysql-community-server

3、MySQL服务器初始化(从MySQL 5.7开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

  • 服务器已初始化。
  • 在数据目录中生成SSL证书和密钥文件。
  • validate_password插件安装并启用。
  • ‘root‘@‘localhost‘ 创建一个超级用户帐户。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:
    shell> sudo grep ‘temporary password‘ /var/log/mysqld.log

    通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码:

    shell> mysql -uroot -p
    mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MyNewPass4!‘;

4、注意密码的强度

MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

这个其实与validate_password_policy的值有关, mysql8.0更改了validate_password_policy相关的配置名称, 这跟Mysql5.7有点不一样了.

mysql> set global validate_password.policy=0;

Query OK, 0 rows affected (0.00 sec)

  

mysql> set global validate_password.length=1;

Query OK, 0 rows affected (0.00 sec)

  

接着再修改密码

mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘;

Query OK, 0 rows affected (0.05 sec)

  

mysql> flush privileges;

Query OK, 0 rows affected (0.03 sec)

5.  Mysql8.0要注意的点

1)  创建用户和授权

在mysql8.0创建用户和授权和之前不太一样了,mysql8.0需要先创建用户和设置密码,然后才能授权。

mysql> create user ‘kevin‘@‘%‘ identified by ‘123456‘;

Query OK, 0 rows affected (0.04 sec)

mysql> grant all privileges on *.* to ‘kevin‘@‘%‘ with grant option;

Query OK, 0 rows affected (0.04 sec)

mysql> create user ‘bobo‘@‘%‘ identified by ‘123456‘;

Query OK, 0 rows affected (0.06 sec)

mysql> grant all privileges on *.* to ‘kevin‘@‘%‘;

Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.04 sec)

mysql> select host,user,authentication_string from mysql.user;

+-----------+------------------+------------------------------------------------------------------------+

| host      | user             | authentication_string                                                  |

+-----------+------------------+------------------------------------------------------------------------+

| %         | bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1  |

| %         | kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85       |

| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2       |

+-----------+------------------+------------------------------------------------------------------------+

如果还是用Mysql5.7及之前版本的直接授权的方法, 会有报错:

mysql> grant all privileges on *.* to ‘shibo‘@‘%‘ identified by ‘123456‘;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘123456‘‘ at line 1

2)  Mysql8.0默认是不能使用root账号进行远程登录的! root账号只能本地登录!

mysql> select host,user,authentication_string from mysql.user;

+-----------+------------------+------------------------------------------------------------------------+

| host      | user             | authentication_string                                                  |

+-----------+------------------+------------------------------------------------------------------------+

| %         | bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1 |

| %         | kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85 |

| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2 |

+-----------+------------------+------------------------------------------------------------------------+

6 rows in set (0.00 sec)

如果想要远程登录, 则需要进行update更新下root账号的权限

mysql> update mysql.user set host=‘%‘ where user="root";

Query OK, 1 row affected (0.10 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.14 sec)

mysql> select host,user,authentication_string from mysql.user;

+-----------+------------------+------------------------------------------------------------------------+

| host      | user             | authentication_string                                                  |

+-----------+------------------+------------------------------------------------------------------------+

| %         | bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1  |

| %         | kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85       |

| %         | root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2       |

| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

+-----------+------------------+------------------------------------------------------------------------+

6 rows in set (0.00 sec)

这样就能在远程使用root账号登录该mysql8.0的数据库了

3) 修改root账号权限, 允许root账号远程登录后, 在其他主机进行mysql的远程连接时,出现了弹窗报错:

ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password, 而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种:

1) 一种是升级navicat驱动;

2) 一种是把mysql用户登录密码加密规则还原成mysql_native_password;

这里选择第二种方法来解决:

#修改加密规则

mysql> ALTER USER ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ PASSWORD EXPIRE NEVER;

Query OK, 0 rows affected (0.16 sec)

#更新一下用户的密码

mysql> ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘;

Query OK, 0 rows affected (0.08 sec)

#刷新权限

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.03 sec)

完毕!

原文地址:https://www.cnblogs.com/yshc/p/10494480.html

时间: 2024-10-06 20:16:41

centos7安装mysql8.0的相关文章

centos7 安装 mysql-8.0

本文介绍使用rpm包安装mysql, 以 mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar 为例: 1.下载 MySQL下载地址:https://dev.mysql.com/downloads/mysql/ 可以直接在centos里面用wget命令下载,或者在自己电脑上下完再传上去 2.解压tar包 tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar 3.移除centos7自带的mariadb-libs包,不移除的话

centos7安装mysql-8.0.15

1.获取mysql   wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz   (安装wget命令:yum install wget -y)2.解压mysql   xz -d mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz   tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar3.移动文件

centOS7安装mysql8.0完美教程!!只要按照步骤,无脑操作,一次成功!

查看防火墙systemctl status firewalld重启防火墙systemctl start firewalld 1.mysql 首先关闭防火墙 systemctl stop firewalld 1.1 检查系统是否已经安装过mysql rpm -qa|grep mariadb 如果查询到结果,证明已经安装过,必须先卸载 1.2 卸载mariadb rpm -e --nodeps mariadb-libs 1.3 由于mysql会产生临时文件存到/tmp文件夹中,如果使用非root管理

CentOS7 安装mysql8.0(YUM方式)

1.下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm 2.安装mysql源 shell> yum localinstall mysql80-community-release-el7-1.noarch.rpm 3.检查mysql源是否安装成功 shell> yum repolist enabled | grep "mysql.*-communit

Centos7安装mysql8.0,开启远程访问

1.获取和安装官方yum源 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm 执行成功后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo及 mysql-community-source.repo yum repolist enabl

CentOS7.6使用yum安装MySQL8.0

CentOS7.6使用yum安装MySQL8.0 1.yum仓库下载MySQL:sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm 2.yum安装MySQL:sudo yum install mysql-community-server 3.启动MySQL服务:sudo service mysqld start 4.检查MySQL服务状态:sudo service m

Centos7下Mysql8.0安装手册 以及 一些坑点总结

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) 默认编码utf8默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 "utf8"并不是真正概念里的 UTF-8.MySQL中的"utf8"编码只支持最大3字节每字符.真正的大家正在使用

centos 7下安装mysql-8.0

本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ 找到 yum 源 rpm 安装包,但是我那会打开这个网页时有点慢毕竟是国外的网站,所以我分享到百度网盘了,链接:https://pan.baidu.com/s/1-gX5eN2QnSH5ptcxsIiq3Q 密码:pirb. 下载完成上传到服务器,我是传到了opt目录下. 2.安装mysql源 yu

Linux Centos7配置mysql8.0数据库

本文转至:672530440 在此感谢博主,撒花!!! 本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 https://blog.csdn.net/managementandjava/article/details/80039650 ---------------------------------------------------------