zoukankan      html  css  js  c++  java
  • 关于mysql数据库远程访问

    mysql数据库安装默认为只能本地访问,若需远程连接需根据不同的操作系统做一些操作

    Windows:

    新装的mysql本地无法登录,显示为1045错误

    mysql#1045(1045Access denied for user 'root'@'localhost' (using password:YES)

    解决方法:修改mysql数据库配置文件my.ini,在 [mysqld] 这个下面添加一行  skip-grant-tables

    本地可成功访问mysql数据库,但远程访问不了

    在本机上修改用户权限,默认的是localhost换成%

    mysql数据库user表中直接将localhost改为“%”,

    UPDATE USER SET HOST='%'  WHERE USER='admin';

    或者添加一行host为“%”,设置密码为要访问数据库密码一致

    UPDATE USER SET PASSWORD=PASSWORD('123456') WHERE HOST='%' AND

    USER='admin';

    若仍然无法远程访问,则必须修改mysql数据库配置文件my.ini

    在 [mysqld] 这个下面添加一行  skip-name-resolve  意思是:忽略主机名的访问方式

    lower_case_table_names=1,意思是:忽略数据库中的大小写,这行可加可不加

    Ubuntu:

    Step 1:

    vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1

    注释掉这行,如:#bind-address = 127.0.0.1

    或者改为: bind-address = 0.0.0.0允许任意IP访问;或者自己指定一个IP地址。

    重启 MySQL:sudo /etc/init.d/mysql restart

    Step 2:

    mysql数据库user表中对应user的Host更改为%

    CentOS:

    mysql>use mysql;

    mysql>update user set Host='%' where Host='localhost';

    mysql>flush privileges;   # 重载系统权限

    允许3306端口

    1. 修改防火墙配置文件:vim /etc/sysconfig/iptables
    2. 加入端口配置:iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT或-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
    3. /etc/init.d/iptables save或service iptables restart
    4. iptables -L -n # 或者: service iptables status

    ps:如果由于操作错误,本地登录不了,可以通过mysqld_safe --skip-grant-tables &方式启动mysql,

         这里不用密码就可以登录mysql,改完后再通过正常方式启动

  • 相关阅读:
    【转并修改】VS2013 MVC Web项目使用内置的IISExpress支持局域网内部机器(手机、PC)访问、调试
    ASP.NET MVC4 UEditor 的上传图片配置路径
    转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址
    转载:win7JDK环境配置
    转载:java保留2位小数
    转载:遍历Map的四种方法
    架构模式: 远程过程调用
    架构模式: 外部配置化
    架构模式: 微服务的基底
    架构模式: 服务部署平台
  • 原文地址:https://www.cnblogs.com/pistachio123/p/7777318.html
Copyright © 2011-2022 走看看