你的位置:首页 > 数据库

[数据库]Mysql授权GRANT ALL PRIVILEGES


  1. 1。 改表法。

    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 

    Sql代码 

     

       1. mysql -u root -pvmwaremysql>use mysql;  

       2. mysql>update user set host = '%' where user = 'root';  

       3. mysql>select host, user from user; 


  2.  2. 授权法。

    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 

     

    Sql代码 

      1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH

          GRANT OPTION;  

      2.FLUSH   PRIVILEGES; 

     

    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 

     

    Sql代码 

     

       1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY   

       2. 'mypassword' WITH GRANT OPTION;   

       3. FLUSH   PRIVILEGES;  

     

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 

    'mypassword' WITH GRANT OPTION; 

    FLUSH   PRIVILEGES; 

     

    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码 

    Sql代码 

     

       1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY   

       2. 'mypassword' WITH GRANT OPTION;   

       3. FLUSH   PRIVILEGES;  

     

    GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 

    'mypassword' WITH GRANT OPTION; 

    FLUSH   PRIVILEGES; 

     

    注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。 


  3.  

    另外一种方法. 

     

    在安装mysql的机器上运行: 

    1、d:\mysql\bin\>mysql -h localhost -u root 

    //这样应该可以进入MySQL服务器 

    2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION 

    //赋予任何主机访问数据的权限 

    3、mysql>FLUSH PRIVILEGES 

    //修改生效 

    4、mysql>EXIT 

    //退出MySQL服务器 

    这样就可以在其它任何的主机上以root身份登录啦!

     

    其它:

    mysql> grant all privileges on *.* to 'energy_pf'@'192.168.2.65' identified by 'energy_pf' with grant option;

    Query OK, 0 rows affected (0.00 sec)

     

    mysql> plush privileges;

    允许用户energy_pf从ip为192.168.2.65的主机连接到mysql服务器的任意数据库(*.*),并使用energy_pf作为密码 

     

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'

    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION; 

    //本地操作的权限

    mysql> GRANT ALL PRIVILEGES ON *.* TO ' root '@'%'

    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

     

    首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。

    注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
        用户:phplamp  用户数据库:phplampDB

    1.新建用户。

    //登录MYSQL
    @>mysql -u root -p
    @>密码
    //创建用户
    mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
    //刷新系统权限表
    mysql>flush privileges;
    这样就创建了一个名为:phplamp  密码为:1234  的用户。

    然后登录一下。

    mysql>exit;
    @>mysql -u phplamp -p
    @>输入密码
    mysql>登录成功

    2.为用户授权。

    //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
    @>mysql -u root -p
    @>密码
    //首先为用户创建一个数据库(phplampDB)
    mysql>create database phplampDB;
    //授权phplamp用户拥有phplamp数据库的所有权限。
    >grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
    //刷新系统权限表
    mysql>flush privileges;
    mysql>其它操作



    3.删除用户。
    @>mysql -u root -p
    @>密码
    mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
    mysql>flush privileges;
    //删除用户的数据库
    mysql>drop database phplampDB;

    4.修改指定用户密码。
    @>mysql -u root -p
    @>密码
    mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
    mysql>flush privileges;