MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

来源:互联网 发布:mac加拿大官网 编辑:程序博客网 时间:2024/06/05 04:11

文章来源:http://blog.csdn.net/h1017597898/article/details/9815987


MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

1.新建用户

  • 登录MYSQL:

  @>mysql -u root -p

  @>密码

  • 创建用户:

  mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

  这样就创建了一个名为:test 密码为:1234 的用户。

  注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

  • 然后登录一下:

  mysql>exit;

  @>mysql -u test -p

  @>输入密码

  mysql>登录成功

2.为用户授权

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

  • 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

  @>mysql -u root -p

  @>密码

  • 首先为用户创建一个数据库(testDB):

  mysql>create database testDB;

  • 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

   mysql>grant all privileges on testDB.* to test@localhost identified by '1234';

   mysql>flush privileges;//刷新系统权限表

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

  • 如果想指定部分权限给一用户,可以这样来写:

  mysql>grant select,update on testDB.* to test@localhost identified by '1234';

  mysql>flush privileges; //刷新系统权限表

  • 授权test用户拥有所有数据库的某些权限   

  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

     //test用户对所有数据库都有select,delete,update,create,drop 权限。

  //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。

3.删除用户

 @>mysql -u root -p

 @>密码

 mysql>Delete FROM user Where User='test' and Host='localhost';

 mysql>flush privileges;

 mysql>drop database testDB; //删除用户的数据库

删除账户及权限:>drop user 用户名@'%';

        >drop user 用户名@ localhost; 

4.修改指定用户密码

  @>mysql -u root -p

  @>密码

  mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";

  mysql>flush privileges;

5.列出所有数据库

mysql>show database;

6.切换数据库

mysql>use '数据库名';

7.列出所有表

mysql>show tables;

8.显示数据表结构

mysql>describe 表名;

9.删除数据库和数据表

mysql>drop database 数据库名;

mysql>drop table 数据表名;

============================================================================

文章来源:http://www.cnblogs.com/zhenmingliu/archive/2012/05/25/2518691.html

mysql 增加用户

3、增加用户:

(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) 

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

 

   第一种:

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

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

 

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

  第一种:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "abc";

 

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

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "";

==========================================================

小结:

mysql新增用户并授权:
授权test用户拥有所有数据库的某些权限:   
  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
//test用户对所有数据库都有select,delete,update,create,drop 权限。
 //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。

===========只允许本机用户XXX公网进行部分操作和本地的所有权限,root用户权限公网全部禁止,本地所有权限保留================
授予非本机xxx用户---只允许操作dbxxx数据库--增删改查、创建、删除权限:【他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。】
grant select,delete,update,create,drop on dbxxx.* to xxx@"%" identified by "密码";
授予本机xxx用户所有权限:【未授予,则本机不能通过xxx进行本地登录操作】
grant all privileges on *.* to xxx@"localhost" identified by "密码";
flush privileges; //刷新系统权限表


删除库的管理账户及权限【删除非本地用户远程访问mysql的所有权限】:>drop user xxx@'%';
flush privileges; //刷新系统权限表

以上生效后进行下面操作:
查看当前用户的权限:
show grants;
禁止root用户公网连接数据库;只允许本地
drop user root@'%';
flush privileges; //刷新系统权限表


0 0