MySQL 8.0.18
稳定版(GA)已于昨日正式发布,Hash
Join 也如期而至。

语法:

快速浏览一下这个版本的亮点!

CREATE USER user
   IDENTIFIED { BY password
              | EXTERNALLY [ AS ‘certificate_DN’ ]
              | GLOBALLY [ AS ‘[ directory_DN ]’ ]
              }
   [ DEFAULT TABLESPACE tablespace
   | TEMPORARY TABLESPACE
        { tablespace | tablespace_group_name }
   | QUOTA size_clause
           | UNLIMITED
           }
           ON tablespace
     [ QUOTA size_clause
             | UNLIMITED
             }
             ON tablespace
     ]…
   | PROFILE profile
   | PASSWORD EXPIRE
   | ACCOUNT { LOCK | UNLOCK }
     [ DEFAULT TABLESPACE tablespace
     | TEMPORARY TABLESPACE
          { tablespace | tablespace_group_name }
     | QUOTA size_clause
             | UNLIMITED
             }
             ON tablespace
       [ QUOTA size_clause
               | UNLIMITED
               }
               ON tablespace
       ]…
     | PROFILE profile
     | PASSWORD EXPIRE
     | ACCOUNT { LOCK | UNLOCK }
     ]…
  ] ;

1.Hash Join

size_clause::integer [ K | M | G | T | P | E
]

Hash Join
不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环算法更有效。

user:用户名称,在数据库中必须唯一

2.EXPLAIN ANALYZE

identified: 指明身份验证方式

EXPLAIN ANALYZE 将运行查询,然后生成 EXPLAIN
输出,以及有关优化程序估计如何与实际执行相匹配的其他信息。

      by password:设置用户的数据库身份认证,password为密码

3.创建用户时可以随机生成密码

      EXTERNALLY :用户的外部身份认证

为 CREATE USERALTER USER和 SET PASSWORD语句添加了语法,以生成强随机密码,并将其作为结果返回给客户端。

               GLOBALLY [ AS ‘[ directory_DN ]’
:用户的全局身份认证,directory_DN 是oracle的一些服务器信息

添加的语法是:

 DEFAULT
TABLESPACE:
用户设置的默认表空间,如果没有设置则是数据库的默认表空间
 TEMPORARY
TABLESPACE:
临时表空间,如果没有设置则是数据库的默认临时表空间

CREATE USER user IDENTIFIED BY RANDOM PASSWORD,
ALTER USER user IDENTIFIED BY RANDOM PASSWORD,
SET PASSWORD [FOR user] TO RANDOM

  QUOTA:用户在某个表空间上可以分配的最大表空间

4.群组复制

 PROFILE:指定用户的概要文件,默认是采用系统默认的概要文件

group_replication_exit_state_action 增加了 OFFLINE_MODE
模式,用于指定当服务器无意离开群组时群组复制的行为。

 PASSWORD
EXPIRE:
设置用户的口令的初始状态为过期的,用户第一次登陆数据库时必须修改口令
  ACCOUNT { LOCK | UNLOCK }  :设置用户是否锁定

OFFLINE_MODE 行为将关闭所有连接,并禁止非 CONNECTION_ADMIN 或 SUPER
权限的用户建立新连接,否则它的行为类似于现有 READ_ONLY 模式。

注意:在创建新用户后,必须为用户收取适当的权限,用户才可以进行相应的数据库操作,

5.innodb 增加一个空闲状态下控制写入 IOPs 的选项

  例如:授予用户create session的权限后,用户才可以连接到数据库

该选项在 InnoDB 空闲时控制写 IOP。目的是减少写 IO,以延长闪存的寿命。

1.认证方式是by password

此外,还有很多内部细节的改进,详细请访问:

CREATE USER sidney
    IDENTIFIED BY out_standing1
    DEFAULT TABLESPACE example
    QUOTA 10M ON example
    TEMPORARY TABLESPACE temp
    QUOTA 5M ON system
    PROFILE app_user
    PASSWORD EXPIRE;

下载地址

2.认证方式是 EXTERNALLY

  • Windows (x86, 32-bit), MSI Installer 8.0.18
    (mysql-installer-web-community-8.0.18.0.msi) 18.6M
  • Windows (x86, 32-bit), MSI
    Installer 8.0.18 (mysql-installer-community-8.0.18.0.msi) 415.1M
  • Windows (x86, 64-bit), ZIP Archive (mysql-8.0.18-winx64.zip)
    272.3M

CREATE USER app_user1
   IDENTIFIED EXTERNALLY
   DEFAULT TABLESPACE example
   QUOTA 5M ON example
   PROFILE app_user

转载自 老叶茶馆

  1. 认证方式是 GLOBALLY

CREATE USER global_user
   IDENTIFIED GLOBALLY AS ‘CN=analyst, OU=division1, O=oracle, C=US’
   DEFAULT TABLESPACE example
   QUOTA 5M ON example;

 

————-修改用户———

语法:

澳门新葡萄京官网注册 1

 

size_clause::=

澳门新葡萄京官网注册 2

 

proxy_clause ::=

澳门新葡萄京官网注册 3

 

db_user_proxy::=

澳门新葡萄京官网注册 4

 

示例:

 1. 把sidney 密码改成 second_2nd_pwd,默认表空间改成  example

ALTER USER sidney
    IDENTIFIED BY second_2nd_pwd
    DEFAULT TABLESPACE example;

  1. 为用户sh 重新指定概要文件为 new_profile;

ALTER USER sh
    PROFILE new_profile;

  1. 除了dw_manager非default,其他都是

ALTER USER sh
    DEFAULT ROLE ALL EXCEPT dw_manager;

  1. 更改认证方式为 GLOBALLY

ALTER USER app_user1 IDENTIFIED GLOBALLY AS ‘CN=tom,O=oracle,C=US’;

  1. 使sidney用的口令失效

ALTER USER sidney PASSWORD EXPIRE;

6.重新指定临时表空间 tbs_grp_01

ALTER USER sh
  TEMPORARY TABLESPACE tbs_grp_01;

 

——–删除用户

1.如果用户下面没有对象则

DROP USER sidney;

2.如果用户下面有对象则

DROP USER sidney CASCADE;