1.通过wget下载mysql8.0,网址:https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 通过
yum localinstall 下载的文件名
将文件放入Yum仓库。
image.png
3.通过yum install mysql-community-server
安装mysql。
4.安装好后通过命令cat /var/log/mysqld.log | grep password
查看原始密码。如果查询结果是空,那么执行命令systemctl start mysqld
启动mysql,如果长时间卡光标闪烁,按组合键Ctrl+C退出,再执行上面的命令就能查询到原始密码了。
5.使用原始密码登录,注意原始密码的大小写以及输入密码的时候输入框是没有任何提示的。
6.修改密码。mysql8不支持123456这种简单密码,密码必须足够复杂包括大写字母、数字和符号。如果一定要用简单密码,需要先用以下命令修改全局变量,以支持简单密码。
set global validate_password.policy=0;
set global validate_password.length=1;
ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "123456";
这里修改密码时必须加上WITH mysql_native_password,因为mysql8.0采用新的密码认证插件caching_sha2_password,django2.1只支持老插件mysql_native_password,所以这里暂时使用老插件,否则运行项目时会报错:Authentication plugin 'caching_sha2_password' cannot be loaded:...
这里的截图是老的,就不修正了。
7.输入exit
退出重新登录,输入show databases;
查看已有数据库。
8.如果要创建多个新用户,默认还是会用新的认证插件,因此可以暂时修改默认认证方式:
终端输入vim /etc/my.cnf
,(不同版本mysqld配置文件可能名称和位置都不一样,可能是my.ini,自己grep搜索一下。)在最后一行添加如下内容
default_authentication_plugin = mysql_native_password
然后重启执行systemctl restart mysqld
重启mysql服务就可以改回老的认证插件。
9.创建和授权专用账户
创建新用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
授权新用户
GRANT privileges ON databasename.tablename TO 'username'@'host'
如
create user 'mysqladmin'@'localhost' identified by '123456';
grant all on *.* to 'mysqladmin'@'localhost';#授权所有权限