zoukankan      html  css  js  c++  java
  • MySQL 数据库实现远程连接

    以下看看从网上搜集来的几种加入Mysql用户远程訪问权限的方法

    MySQL上的一个数据库要备份,装了个MySQL的gui工具。

    打开"MySQL Navicat"工具。填好username和password却登录不了,老是报这个错“ERROR 1130: Host 'lijuan-' is not allowed to connect to this MySQL server”。网上查了下,有这两个方法解决:

    解决方法:

    1。 改表法。

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

    mysql>use mysql;

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

    mysql>select host, user from user;

    2. 授权法。

    比如。你想myuser使用mypassword从不论什么主机连接到mysqlserver的话。

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

    假设你想同意用户myuser从ip为192.168.1.3的主机连接到mysqlserver,并使用mypassword作为密码

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

    我的mysql.user里root用户的host果然是localhost,先用改表法给localhost改成“%”,还是不行。仍然报1130的错 误,又按“从不论什么主机连接到mysqlserver”方法授权。还是报一样的错。最后给自己的ip授权之后。最终登录上了。

    。。。

    乎乎。。

    mysql的ERROR 1045 在上面情况后如再出现客户段1045可在server运行例如以下

    UPDATE user SET Password=PASSWORD('123456') where USER='myuser';

    FLUSH PRIVILEGES;//用户付完权限后对数据进行刷新时用!要不Mysql数据库识别不了

    比如:(必须參考以上再看以下的样例)

    GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

    mysql "192.168.50.85" "admin" "admin" ;

    GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;

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

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.50.85' IDENTIFIED BY '123456' WITH GRANT OPTION;

    UPDATE user SET Password=PASSWORD('123456') where USER='myuser';

    FLUSH PRIVILEGES;

    mysql默认是没有开启远程控制的。必须加入远程訪问的用户。

    mysql默认是没有开启远程控制的,必须加入远程訪问的用户。 g&00 x$ Y

    0VE }0(fQ

    假设是安装版的话。从mysql提供的控制台进入。 1s+<( 0R/

    用root用户登陆。然后: Q k C jgS0

    grant all privileges on *.* to 创建的username @"%" identified by "password"; o! q*)`xuQ

    flush privileges; * 刷新刚才的内容* )/ z (5 3X

    ; (Q:LY v

    格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户password"; .=h j Qi[

    @ 后面是訪问mysql的clientIP地址(或是 主机名) % 代表随意的client。假设填写 localhost 为本地訪问(那此用户就不能远程訪问该mysql数据库了)。 U <T 1O 6

    lp 8 z Rc

    同一时候也能够为现有的用户设置是否具有远程訪问权限。例如以下: ch3 X X#

    use mysql; o$`> :>N e

    update db set host = '%' where user = 'username'; (假设写成 host=localhost 那此用户就不具有远程訪问权限) B Gnl: R *

    FLUSH PRIVILEGES; zn 6en;&?

    3 Pj_2B=

    查看结果,运行: $4b 5-U

    use mysql; ){[' 66!

    select host,user,password from user; J):HB:j_M

    i oZ 0 " H

    +--------------+--------+---------------+ t75 JSdQ

    | Host | User | Password | XKL Di{ U

    +--------------+--------+-----------------+ B*1Q< Cx5B

    | localhost | | | U 8RZq(f

    | % | John | 123456 | r ` Al B

    | localhost | root | | H fd ZE

    +--------------+------ --+---------------+ pd7= 8 8

    ArJ~Vs "+

    总结: ? Av L`B A

    事实上MySQL默认有两个数据库分别为 mysql 和 test 而MySQL用户的信息都放在数据库 mysql 的相关表中 gb: hj /

    也能够使用 Navicat (推荐)这种GUI工具来管理用户。 HUD?

    }U BB5

    update user set host='%' where host='localhost'

    工作中用到webserver和mysqlserver不在同一台计算机上安装的运用。须要通过mysql的远程账户訪问mysql。

    先上语法:

    grant [权限] on [数据库名].[表命] to ['用户命']@['webserver的ip地址'] identified by ['password'];

    实例:

    grant all on lportal.* to 'root'@'192.168.1.21 identified by 'root';

    grant select,update,insert,delete on lportal.* to 'root'@'192.168.1.21 identified by 'root';


    转载地址:http://blog.163.com/ruihuadesunny@126/blog/static/39026191200972745632454/

  • 相关阅读:
    idea的tomcat消失
    数据表南车
    ElementU日历Demo
    ElementUI表格行编辑单元格编辑支持(输入框,选择框)Demo
    expect ':' at 0, actual = (JSON转化异常解决)
    java获取日历格式的日期数据
    java判断某个日期在两个日期之间(区间) (包含或不包含两个日期)
    localDate和Date的转化
    ImmutableMap的put方法问题
    invalid comparison: java.time.LocalDate and java.lang.String
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6756321.html
Copyright © 2011-2022 走看看