MySQL 增加新用户sql语句

WBOY
发布: 2016-06-07 17:52:35
原创
1539 人浏览过

本文章总结了关于MySQL 增加新用户sql语句有需要的朋友可参考参考。

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改
、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

 代码如下 复制代码
 代码如下 复制代码

grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";


但例
1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一 台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。


例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插
入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知

道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
 代码如下 复制代码

grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

 代码如下 复制代码

grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

 代码如下 复制代码

grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

如果你不想test2有密码,可以再打一个命令将密码消掉。

 代码如下 复制代码
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作
 代码如下 复制代码

  /etc/init.d/sudo mysqld

linux中.Ubuntu下启动mysql方法:

 代码如下 复制代码

  /etc/init.d/sudo mysqld

二.用户添加

  bin>mysql -u root

  mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';

  权限1,权限2,...权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。

  当权限1,权限2,...权限n被all privileges或者all代替,表示赋予用户全部权限。

  当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。

  用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。

 代码如下 复制代码

  mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';

  '连接口令'不能为空,否则创建失败。 例如:
 代码如下 复制代码
  mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';

给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

 代码如下 复制代码
 代码如下 复制代码

  mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';

  mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';

给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
 代码如下 复制代码

  mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';

 代码如下 复制代码

  mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';

 代码如下 复制代码

mysql>grant all privileges on *.* to joe@localhost identified by '123';

给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

 代码如下 复制代码
mysql>grant all privileges on *.* to joe@localhost identified by '123';


给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
 代码如下 复制代码


mysql> GRANT ...   ON *.*  TO myusername@"%.mydomainname.com" IDENTIFIED BY 'mypassword';

如果你想要给特定的用户从一个给定的域上的任何机器上存取权限,你可以发出一个如下的GRANT语句:

 代码如下 复制代码

mysql> GRANT ...   ON *.*  TO myusername@"%.mydomainname.com" IDENTIFIED BY 'mypassword';

 代码如下 复制代码

mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername', PASSWORD('mypassword'),...);


mysql> FLUSH PRIVILEGES;

为了通过直接修改授权表做同样的事情,这样做:

 
 代码如下 复制代码
mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername', PASSWORD('mypassword'),...); mysql> FLUSH PRIVILEGES;
你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值。你可以在MySQL的Contrib目录找到这些实用程序。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板