当系统管理帐户并登录系统时,系统的安全性会大大降低,因此为了更安全地使用计算机,通常会创建新用户并登录系统。 MySQL也不例外。 对于刚接触MySQL的朋友,可以参考如何在MySQL中创建用户和许可证。
创建
在Mysql中创建用户的方法分为三种: INSERTUSER表方法、CREATEUSER方法和GRANT方法。
一.账户名称的构成方式
如何配置帐户:用户名主机(因此,与其他数据库不同,会显示重复的用户名)。
用户名: 16个字符以内。
主机名:可以使用主机名和IP地址或通配符
通配符说明: 172.18.10.%(IP地址可以访问第172.18.10段中的所有IP地址) )。
二.使用CREATEUSER命令创建用户
脚本:创建用户“用户名称”@“主机”[标识按密码]密码是可选的。
说明:通过这种方式创建的用户只有连接数据库的权限,需要后续的持续授权
三.用GRANT命令创建用户
个人常用这种方式创建用户,如果数据库中存在用户,GRANT会批准该用户;如果数据库中不存在该用户,则创建相应的用户并进行批准。 (上面的步骤说明是多余的)
脚本:
说明: priv代表权限select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process
示例: mysqlgrantselect,insert,update,delete,create,dropontest.hrtojohn @ 192.168.10.1 identified by ' 123 ';
说明:向主机为192.168.10.1的用户john分配对数据库test中的hr表执行select、insert、update、delete、create、drop等操作的权限,然后通过路径
mysqlgrantallprivilegesontest.* to Joe @ 192.168.10.1 identified by ' 123 ';
说明:为主机为192.168.10.1的用户john分配对数据库test中的所有表执行所有操作的权限,并将口令设置为123。
mysqlgrantallprivilegeson *.* to John @ 192.168.10.1 identified by ' 123 ';
描述:为主机为192.168.10.1的用户john分配对所有数据库中所有表执行所有操作的权限,并将口令设置为123。
mysqlgrantallprivilegeson *.* to John @ localhostidentifiedby ' 123 ';
说明:用户john分配对所有数据库中的所有表执行所有操作的权限,并将口令设置为123。
四、直接在mysql.user表中插入记录(这个方法我个人不怎么用) )。
由于数据库的所有用户信息都存储在名为mysql.user的表中,因此直接在该表中插入语句即可完成用户的创建。
mysqlinsertintouser(host,user,password ) values )、“%”、“john”、“password”、“123”);
查看权限:
showgrantsfor你的用户;
showgrantsforroot@'localhost ';
showgrantsforwebgametest @ 10.3.18.158;
showcreatedatabasedbname; 这可以看到创建数据库时使用的参数。
showcreatetabletickets; 显示创建表时使用的一些参数
撤销权限:
revoke allon *.* from DBA @ localhost;
五、用户创建完成后,请更新系统权限表;
mysqlflushprivileges;
有三种创建用户的方法,但我个人倾向于第二种方法,一步一步,简单明了; 另外两种方法只是有助于理解数据库的原理
许可证:
命令: grantprivilegesondatabasename.tablename to ' username ' @ ' host '
说明:权限-选择、插入、更新等用户操作权限。 详细的列表在这个句子的最后。 授予权限时为ALL . databasename-数据库名称,tablename-表名称。 要授予用户对所有数据库和表的相应操作权限,可以用*表示,如*.*。
示例:GRANTSELECT,INSERTONtest.userTO'pig'@'%;
GRANTALLON*.*TO'pig'@'% ';
注意:上述命令授权的用户不能授权给其他用户。 如果希望该用户可以允许,请使用以下命令3360
grantprivilegesondatabasename.tablename to ' username ' @ ' host ' withgrantoption;