首页 > 数据库 > MySQL > 正文

MySQL 增加新用户sql语句

2024-07-24 12:38:29
字体:
来源:转载
供稿:网友

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

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

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

实例:

增加的用户是十分危险的,你想如某个人知道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';

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

  1. mysql> INSERT INTO user VALUES ('%.mydomainname.com''myusername'PASSWORD('mypassword'),...); 
  2. --Vevb.com 
  3. mysql> FLUSH PRIVILEGES

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表