mysql怎么更改认证类型 mysql 更改( 二 )


MySQL数据表的修改:修改字段类型4.4.3修改字段类型
语句格式:ALTER TABLE 表名 MODIFY 字段名 数据类型;
在上面语句格式中mysql怎么更改认证类型,“表名”指定要修改mysql怎么更改认证类型的是哪个表,“MODIFY”表示要修改表中字段数据类型,“字段名”指定要修改表中哪个字段(的数据类型),“数据类型”指定表中字段要修改成的新数据类型 。
下面截图中的“ALTER TABLE”语句将t_dept表中deptno字段数据类型由原来的 int(10)修改为varchar(20) 。
MySQL中如何修改用户各种信息在MySQL中修改用户的语法如下:
看了这么一大坨东西,感觉啥也没有告诉我,一脸懵逼 。下面我们一起来解读一下具体的每一个选项的含义 。
对于这个大家应该有所了解 。
首先它是被中括号包裹起来的,表示是可选的不是必须的,也就是说在我们的alter user语句中 , 这个IF EXISTS可以不出现不是必须要写的 。但是为什么还要有这个呢 , 这个选项出现的目的是为了让你在执行一个alter user语句的时候,如果语句中指定的数据库用户不存在(或者你写用户名称的是写错了),而不至于出现一个错误的信息,如果指定了IF EXISTS这个词,mysql怎么更改认证类型他就会以一个警告的信息提示你而不是直接给你一个错误信息 。
更直白一下就是:如果你的alter user的语句中指定的用户确实存在 , 那么就执行你的语句,如果不存在呢,就不执行你的语句,跳过这个alter user的指令 。看示例:
在上面的例子中,第一个修改用户的语句,没有使用if exists关键词直接修改了一个不存在的用户的信息,结果直接出现了错误信息,接着我们使用了if exists关键词,结果SQL语句执行成功,只是出现了一个warning警告,然后我们通过show warnings命令查看警告信息的内容,提示我们用户'zhangsanfeng'@'%'不存在 。这就是if exists关键词的存在的意义 。
当我们修改一个用户的信息的时候,我们需要指定用户的名称 。这个名称,不仅仅使我们平时登录数据库的时候,输入的用户的名字 , 还有一个隐含的部分就是用户登录的host网段,这个网段表示只允许该用户通过这个网段登录,如果用户不在这个定义的网段内 , 即便是用户名和密码正确,也不能争取的登录 。
下面的创建用户是两个不同的用户 。
上面的两个用户中,分别表示如下:
当然,我们可以使用模糊匹配的方式来限定用户登录的网段 , 比如我们创建下面第一个用户表示只要这个用户登录的时候,使用的主机的IP地址是在10.10.0.0~10.10.255.255这个网段质检的任何一个IP地址都可以登录 。
特殊的网段localhost。如果我们创建如下的用户,则表示该用户只能在MySQL数据库所在的服务器本机上登录 。
还有另外一个特殊的网段%。它表示用户可以通过任何一个IP地址来登录 , 不对用户登录的主机所在的网段做任何限制 。如下用户就是不对它登录的主机IP地址做任何限制 。
auth_option选项的含义表示指定用户登录数据库的时候使用的验证插件和密码 。它的选项有如下几种,下面我们分别展开分析一下各个选项的使用场景和示例 。
如果在IDENTIFIED关键字后面没有使用WITH关键字指定使用的密码插件名称,则会使用MySQL默认的密码插件 。对于MySQL默认的密码插件是什么,可以使用下面的命令进行查看:
通过上面的输出,我们可以看出默认的密码插件采用的是mysql_native_password插件,参数default_authentication_plugin的值是可以在MySQL的配置文件my.cnf中指定的,它可以有以下两种取值:

推荐阅读