在虚拟机安装mysql8,并测试使用
MySQL8的新特性和功能就不阐述了,管那么多干啥,反正就是快,请自行百度.
apt search mysql8
发现并没有MySQL8的安装包,那么就需要手动安装下载安装源
官网地址这个是apt安装,ubuntu版本直接下载回来一个deb文件
其实官方已经有一系列安装方法了页面在此
既然下载号练deb,那么直接运行
dpkg -i xxxxx.deb
完事了在update更新下,上图步骤写得很明白了
然后就可以使用
apt install mysql-server
快乐的安装MySQL8了
安装完成然后快乐的来设置访问权限,下面是重点了
本地登录mysql 命令
mysql -u root -p
输入密码进入MySQL
use mysql;
创建角色
比如开发环境账户需要某库的所有权限,生产环境账号往往需要增删改查这些权限,我们可以单独为这些权限建一个role.如果有读写分离,还可以建两个读和写的role。创建了3个角色,dev,read,write
create role 'app_dev','app_read','app_write';
mysql8[(none)]>show grants for 'app_dev';
+-------------------------------------+
| Grants for app_dev@% |
+-------------------------------------+
| GRANT USAGE ON *.* TO `app_dev`@`%` |
+-------------------------------------+
---------------------
给角色授权
mysql8[(none)]>grant select , insert,update,delete on test.* to app_dev;
Query OK, 0 rows affected (0.02 sec)
注意其中的test是database,如果是要登录其他库请在授权一条即可
此处就列出给dev授权,授予增删改查所有权限,其他角色自行授权
创建用户
CREATE USER `developer`@`127.0.0.1` IDENTIFIED BY 'passowrd';
这里使用的MySQL8的新密码加密方式,都用MySQL8了.还用老的加密方式干什么,你会在别的文档看到
mysql_native_password,不用理会
注意当中的developer是用户名,127.0.0.1是允许登录的ip,允许所有是%,password是登录密码
给用户分配角色
grant app_dev to developer;
这样就把developer用户改成了app_dev角色,角色拥有的权限,用户肯定也有
查看权限
show grants for developer using app_dev;
激活
set default role all to developer;
下面就可以愉快的玩耍了,使用workbench登录就行,为什么使用workbench,因为其他软件可能还不支持mysql8的登录
下面提供几条查询命令,最好在use mysql下执行
1.查看
SHOW GRANTS FOR 'developer'@'%';
2.撤消角色或角色权限
REVOKE role FROM user;
REVOKE INSERT, UPDATE, DELETE ON xxx.* FROM 'xxx';
3.删除角色
DROP ROLE 'app_read', 'app_write';
4.总览
SELECT Host,User FROM user;
感谢大家阅读