mysql授权

  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; 

    PIS:再将%改为localhost  重启服务器生效.但是不能更改密码

  2.  

    2. 授权法。

    PIS1:允许用户myuser使用mypassword从任何主机连接到mysql服务器。 

        Sql代码 

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

        2: FLUSH   PRIVILEGES;  

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

    Sql代码 

       1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY  'mypassword' WITH GRANT OPTION;   

       2. FLUSH   PRIVILEGES;  

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

    Sql代码  

       1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY   'mypassword' WITH GRANT OPTION;   

       2. FLUSH   PRIVILEGES;   

  3.  

    另外一种方法. 

    在安装mysql的机器上运行: 

    1、d:mysqlin>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作为密码

原文地址:https://www.cnblogs.com/zzq888/p/10383408.html