zoukankan      html  css  js  c++  java
  • mysql 远程登录与表名大小写问题

      好久没写博客了,这段时间在学习一个开源的项目,里面使用到了mysql,好久没使用mysql了。在使用过程中遇到了一个问题,远程登陆。报错信息很明显,连接失败。解决思路如下:

        1. 首先检查到服务器网络是否可达,发现并没有什么问题。

        2. 查看用户名密码是否正确,通过在服务器上面登陆查看也没有问题。

        3. 检查mysql服务是否启动,端口是否正确: ps -aux|grep "mysql"    netstat -apn|grep "3306",并检查配置文件中的链接是否正确,一切正常。

        4. 查看选择的用户是否支持远程登录。select * from mysql.userG; 经过查证work用户的Host值为%通配符,也没有问题。

      这就比较蛋疼了,查看mysql的配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf 发现配置文件中存在绑定属性bind-address=127.0.0.1,首先解释一下这个参数的含义: 此参数主要是配置mysql的监控IP具体的取值如下:

    * 接收所有的IPv4 或 IPv6 连接请求
    0.0.0.0 接受所有的IPv4地址
    :: 接受所有的IPv4 或 IPv6 地址
    IPv4-mapped 接受所有的IPv4地址或IPv4邦定格式的地址(例 ::ffff:127.0.0.1)
    IPv4(IPv6) 只接受对应的IPv4(IPv6)地址

       看来问题就出现在这了,如果此值为localhost,那么mysql就只能接受本地访问,至于远程访问的请求就无法接受了,所以我们索性把这一行给注释掉,一切OK。(注意: 如果在生产环境上面必须设置为指定IP,否则任何人都可以访问,势必会产生不必要的危险)

      问题二: 在运行时出现了另外一个错误,table not exist,但是查看表时确实存在,索性将代码中的表名(大写) 放到终端进行查询,还是出现table not exist错误。修改配置文件中lower_case_table_names参数为1即可,具体分析参见博客https://blog.csdn.net/wyzxg/article/details/44236259 。

      如有不当,请批评指正,谢谢!

  • 相关阅读:
    Python- 索引 B+数 比如书的目录
    Python-视图 触发器 事务 存储过程
    Python-mysql 权限 pymysql 注入共计
    Shell之Sed常用用法
    python 字符编码讲解
    python enumerate枚举用法总结
    Python第三周 数据类型:集合set、文件的读写、追加操作。
    第二周Python笔记 数据类型 列表 字典
    Python第二周 str的方法
    第二周Python笔记之 变量的三元运算
  • 原文地址:https://www.cnblogs.com/liboBlog/p/9591400.html
Copyright © 2011-2022 走看看