官方下载地址: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
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 -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的诸多好处,我就不多赘述了。