MySQL利用localhost无法连接问题解决办法(127.0.0.1能连接)

 

安装后使用探针进行PHPINFO测试的时候。发现默认的localhost不能连接MariaDB数据库,但是通过127.0.0.1又可以连接。表示很郁闷。最初想到的是:是不是linux服务器上的hosts文件问题。

于是就 echo “127.0.0.1 localhost”>>/etc/hosts && sync

结果还是一样,localhost无法连接127.0.0.1可以连接。
在网上看到有朋友说是selinux的问题,但,一般系统安装好了后我都是已经将selinux 设置为permissive 模式的。于是有进一步设置 为disabled模式。结果也是一样。
最后发现是PHP和MySQL之间的关系,我们只要修改PHP.INI的配置就可以了。
默认编译安装的php.ini配置文件里不会指定 mysqld.sock 文件地址,而其便从默认以为的在/var/run/mysqld/mysqld.sock 进行查找。而编译安装的MariaDB 安装的时候将mysqld.sock文件制定在/usr/local/mysql/tmp目录下。而PHP通过localhost连接mysql的时候恰恰又是要使用mysqld.sock的方式进行连接。因此,上面问题的出现我们就清楚来路的。
下面我们通过查看本机的mysqld.sock文件具体存放位置,将其写入php.ini的配置里面就ok了。

最保守的方法就是先执行 sync 命令进行数据写入。然后重启apache2服务器。一般来说,不用执行这两个命令也行的。本人已经直接使用,不能再做测试。

时间: 2024-09-20 12:37:24

MySQL利用localhost无法连接问题解决办法(127.0.0.1能连接)的相关文章

MySQL server has gone away问题解决办法

执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段.比如,图片数据的处理.都容易引起MySQL server has gone away. 今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away. 后来百度查找发现是mysql设置的问题 原因1. MySQL 服务宕了 判断是否属于这个原因的方法很简单,执行以下命令,查看mysql的运行时长 $ mysql -uroot -p -e "show global status li

MYSQL导入存储过程无法执行问题解决办法

通过mysql导入的数据库,当里面有存储过程的时候,导入后存储过程是无法用程序使用了,找了很久原因,最后发现是权限问题. 1.我们要用查看数据库里面的存储过程:在mysql里面输入 mysql> show function status; 运行后的结果如图所示: 2.修改对应存储过程的Definer和Security_type这两个字段的值 加入我们程序链接数据库的帐户是leiming,链接数据库的地址是127.0.0.1 我们需要输入 mysql> update mysql.proc set

mysql数据库 slave复制异常问题解决办法

以下是两种slave复制异常的情况.导致的原因都是由于跨机房同步,slave的机房突然掉电导致的.    案例一.    这个错误大原因是Read_Master_Log_Pos: 1028687822的pos号在主库上是没有的.    处理方法:获取这个pos号的前一个pos号,从新开启同步,这里注意如果是row模式的话就没有问题.如果是mix的或者statement的话,就需要去分析binlog,确认具体执行到哪个pos号了,不然可能会导致数据不一致.    (andy:db:)[(none)

小蚁摄像机安卓版无法连接问题解决办法

给各位小蚁摄像机安卓版软件的使用者们来详细的解析分享一下无法连接问题的解决办法. 教程分享: 一.先确保小蚁摄像机连上路由器,蓝色状态灯常亮. 二.打开路由器配置界面,找到QoS功能设置,把QoS状态打开.   三. 把小蚁智能摄像机的优先级设置成:高.   大功告成,最后赶紧拿起手机,再试试远程查看吧! 好了,以上的信息就是小编给各位小蚁摄像机安卓版的这一款软件的使用者们带来的详细的无法连接问题的解决办法解析分享的全部内容了,各位看到这里的软件使用者们,小编相信你们现在那是非常的清楚了解决的方

mysql [Warning] max_join_size报错问题解决办法

100716 06:32:45  mysqld started 100716  6:32:45 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 100716  6:32:45 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

刚下的mysql 无论127.0.0.01还是localhost都连接不上是什么情况?

问题描述 刚下的mysql 无论127.0.0.01还是localhost都连接不上是什么情况? 刚下的mysql 无论127.0.0.01还是localhost都连接不上是什么情况? 求教 解决方案 说错,127.0.0.1 解决方案二: 楼主可以试一下127.0.0.1 你多了个0哦亲 解决方案三: 去service配置里面看看localhost配置信息 解决方案四: service服务没开? 解决方案五: 我是从U盘里直接(#‵′)拷的别人的可以用么,配置里面没有localhost信息 解

Linux开启mysql远程连接方法与问题解决办法

Linux开启mysql远程连接方法 1.GRANT命令创建远程连接mysql授权用户root mysql -u root -p mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123456' WITH GRANT OPTION; 增加root用户授权通过本地机(localhost)访问,密码 "123456". mysql>GRANT ALL PRIVILEGES ON *.* TO r

php连接不上MySQL问题解决办法

现象1 在PHP error log里发现:PHP Warning: mysqli::mysqli(): (HY000/2003): Can't connect to MySQL server on 'XXX.XXX.XXX.XXX' (99) in /u1/www/XXXX.php on line 10 PHP Warning: mysqli::close(): Couldn't fetch mysqli in /u1/www/XXXX.php on line 11推断:只有在高并发的环境下出

MySQL远程连接丢失问题解决办法

具体的解决步骤如下,希望能帮助遇到同样问题的同学们: 找到并修改my.cnf文件.在不同的Linux系统下,my.cnf放在不同的位置.这里以Ubuntu Server做示例,其他系统请根据情况自行找到my.cnf的路径.一般只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下. 首先用vim打开my.cnf: vim /etc/mysql/my.cnf 看看是否有绑定本地回环地址的配置,如果有,注释掉下面这段文字:(在文字之前加上#号即可) bind-address = 1