返回顶部
首页 > 资讯 > 数据库 >MariaDB 10.4.11 (GA)的变化和改进
  • 316
分享到

MariaDB 10.4.11 (GA)的变化和改进

2024-04-02 19:04:59 316人浏览 薄情痞子
摘要

1、账户锁定支持管理员锁定/解锁用户帐户,语句: 1 锁定ALTER USER 'hechunyang'@'%' ACCOUNT LOCK; 当锁定后,用户再次登录时,提示如下信息:# Mysql -h22

1、账户锁定

支持管理员定/解锁用户帐户,语句:

 

1 锁定

ALTER USER 'hechunyang'@'%' ACCOUNT LOCK;

 

当锁定后,用户再次登录时,提示如下信息:

# Mysql -h227.0.0.1 -uhechunyang -p -P3312

Enter passWord:

ERROR 4151 (HY000): Access denied, this account is locked

 

2 解锁

ALTER USER 'hechunyang'@'%' ACCOUNT UNLOCK;

 

注:帐户被锁定,现有连接不受影响,新的客户端不允许连接。

 

3 查看账户锁定信息

> show create user hechunyang@'%'\G;

*************************** 1. row ***************************

CREATE USER for hechunyang@%: CREATE USER 'hechunyang'@'%'

IDENTIFIED BY PASSWORD

'*1DA3AF2348DE66F7554E816DEDC1F1340814842E' ACCOUNT LOCK

 

> select * from mysql.global_priv where user='hechunyang'\G;

*************************** 1. row ***************************

Host: %

User: hechunyang

Priv:

{"access":1073740799,"plugin":"mysql_native_password","authentication_string":"*

1DA3AF2348DE66F7554E816DEDC1F1340814842E","password_last_changed":15

76823835,"account_locked":true}


2、用户密码到期

1 设置用户到期时间

>CREATE USER 'hechunyang'@'%' PASSWORD EXPIRE INTERVAL 1 DAY;

 

>ALTER USER 'hechunyang'@'%' PASSWORD EXPIRE INTERVAL 1 DAY;

 

注:单位默认只有DAY(天),最小为1天。

 

当用户权限到期后,登录时提示修改密码,如下:

hechunyang@127.0.0.1[(none)]>show processlist;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

 

2 解除限制

>ALTER USER 'hechunyang'@'%' PASSWORD EXPIRE NEVER;

 

3、支持更改字符集utf8->utf8mb4采用ALGORITHM=INSTANT算法

MariaDB支持表的某一字段,或者整张表,字符集utf8转换为utf8mb4采用ALGoRITHM=INSTANT算法(只修改字典信息)

 

例表结构:

CREATE TABLE t1 (

  id int(11) DEFAULT NULL,

  cid int(11) DEFAULT NULL,

  name varchar(60) DEFAULT NULL,

  KEY IX_cid (cid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

DDL变更语句(秒级更改)

alter table t1 modify name varchar(60) charset utf8mb4, ALGORITHM=INSTANT;

 

需要注意的地方:

1)反过来utf8mb4->utf8是不支持INSTANT算法的。

2)如果你的字段是latin1拉丁文,转utf8/utf8mb4是不支持INSTANT算法的。

 

注:在MySQL 8.0.18版本中,修改字符集utf8->utf8mb4是无法使用到INSTANT算法的,需要重建表(ALGORITHM=COPY算法),且会锁表,update/delete/insert/replace into语句会被MDL锁住(Waiting for table metadata lock)


4、字段长度不大于varchar(256),支持采用ALGORITHM=INSTANT算法

例表结构:

CREATE TABLE t1 (

  id int(11) DEFAULT NULL,

  cid int(11) DEFAULT NULL,

  name varchar(60) DEFAULT NULL,

  KEY IX_cid (cid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

DDL变更语句(秒级更改)

alter table t1 modify name varchar(80) DEFAULT NULL, ALGORITHM=INSTANT;

 

需要注意的地方:

1)varchar(60)减少到varchar(40)是不支持INSTANT算法的。

2)大于并等于varchar(256),这里的256是指字节(UTF8占用3字节),是不支持INSTANT算法的。

 

注:只对varchar类型采用INSTANT算法,char和int是无效的,仍旧是需要拷贝数据且锁表。





您可能感兴趣的文档:

--结束END--

本文标题: MariaDB 10.4.11 (GA)的变化和改进

本文链接: https://lsjlt.com/news/39819.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作