欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL 增加新用户sql语句

程序员文章站 2022-05-17 13:10:54
...

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

格式: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目录找到这些实用程序。