mysql 远程登录与表名大小写问题
Posted 奋斗中的屌丝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 。
如有不当,请批评指正,谢谢!
以上是关于mysql 远程登录与表名大小写问题的主要内容,如果未能解决你的问题,请参考以下文章