加入收藏 | 设为首页 | 会员中心 | 我要投稿 上饶站长网 (https://www.0793zz.com.cn/)- 数据库平台、视觉智能、智能搜索、决策智能、迁移!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 增加新用户sql语句

发布时间:2022-07-04 10:22:27 所属栏目:MySql教程 来源:互联网
导读:格式:grant select on 数据库.* to 用户名@登录主机 identified by 密码 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限,首先用以root用户连入MYSQL,然后键入以下命令: grant select,insert,updat
  格式: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';
 
  为了通过直接修改授权表做同样的事情,这样做,代码如下:
 
  mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername', PASSWORD('mypassword'),...);
  --phpfensi.com
  mysql> FLUSH PRIVILEGES;
  你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值,你可以在MySQL的Contrib目录找到这些实用程序.
 
 

(编辑:上饶站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读