一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

MySQL 增加新用户sql语句

时间:2012-12-06 编辑:简简单单 来源:一聚教程网

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

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

 代码如下 复制代码

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";

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

 代码如下 复制代码

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

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

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';

给来自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';

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

 代码如下 复制代码

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

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

 代码如下 复制代码

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

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


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

 代码如下 复制代码


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


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

 

 代码如下 复制代码

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


mysql> FLUSH PRIVILEGES;


你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值。你可以在MySQL的Contrib目录找到这些实用程序。

热门栏目