centos7安装mysql8.0版本教程

官方下载地址:https://dev.mysql.com/downloads/repo/yum/
或者直接使用wget下载

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

二、安装软件源

rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

三、安装mysql

yum install mysql-community-server

安装过程中如果出现y/n的话就一直y就行了,如果嫌麻烦可以用这个命令来安装

yum install -y mysql-community-server

四、启动&配置

#启动
service mysqld start
#查看运行状态
service mysqld status

看到绿色的running代表已经启动成功,然后mysql在5.6之后的版本都会默认生成一个默认密码,是root用户的。通过如下命令查看密码

grep 'temporary password' /var/log/mysqld.log

用粉色框标识出来的便是默认设置的密码

 

查看密码.png

五、进入mysql

执行完如下命令之后输入默认密码

mysql -u root -p

六、创建用户和分配权限

由于mysql8新提供了一种密码加密方式caching-sha2-password,且为默认,目前很多客户端都不支持,所以我们在创建新角色用户的时候可以指定其为mysql_native_password,原来的root账户等不去做任何改变(无形之中增加了安全性有木有)

如果执行操作时候发生如下提示:

You must reset your password using ALTER USER statement before executing this statement

执行

mysql> alter user 'root'@'localhost' identified by '1qaz@WSX';

查看当前数据库授权情况

use mysql;

select host,user,plugin from user;


查看'root' 用户的权限必须要是'%',这样才能远程登录,如果是localhost,用update语句改成'%'即可(默认'root'用户权限是'localhost')

我们这里重新创建一个用户

CREATE USER 'mysql'@'%' IDENTIFIED WITH mysql_native_password BY 'qweAZS@#$1';

在查看一下用户权限信息

select host,user,plugin from user;

最后使设置立即生效

flush privileges

七、关闭防火墙

systemctl stop firewalld.service

八、关闭开机启动防火墙

systemctl disable firewalld.service

九、root身份在命令行登陆,初始化sql文件

use backend;

source /usr/backend/sql/backend.sql;

十、赋予权限

grant select, delete,update,insert on backend.* to mysql@'%';

十一、删除数据库所有表,不删除数据库名字

SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='backend';

十一、总结

官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!所以我也是第一时间把我的网站的mysql数据库从5.7升级到了8.0版本。
有些大神已经总结了8.0的诸多好处,我就不多赘述了。

你可能感兴趣的:(Linux)