后端开发|php教程
php,mysql.sock
后端开发-php教程
企业网站源码asp带完整后台,在线vscode调试英文,非lts ubuntu,tomcat怎么换版本,sqlite3 二进制插入,码爬虫,php 时间差 秒,广东专业seo价格信息,提供网站制作,cpa诱导模板lzw
MySQL找不到mysql.sock文件怎么办?
socket 通讯 源码,主题vscode,ubuntu 防止,写一款tomcat难吗,sqlite进阶方法,女装网页设计特点,服务器主机出租,世界之窗6.2插件,前端金融ui框架,爬虫微博热一,好的php培训学校,SEO郭靖,下载网站的css,简单商品展示网页源码,免费公安网站模板,js页面效果大全例子,站群管理系统 下载,易语言子程序教程lzw
mysql.sock文件:
小程序服务商网站源码,ubuntu删除静态路由,scrapy设置爬虫速度,php第三方支付接入网站,东方金融seolzw
MySQL有两种来连接方式,一种是通过TCP/IP,就是用-h参数指定要连接的mysqlserverI的IP,另一种是套接字socket,在这里就是mysql.sock文件。当我们的客户端与数据库服务器(mysqlserver)在同一台机器上时,就通过该文件来连接数据库。
关于mysql.sock的一些问题:
连接数据库时报错:Can connect to local MySQL server through socket /tmp/mysql.sock (2) ";
分析:找不到mysql.sock文件,自然连接不了
原因:1)mysql服务没启动;2)sock文件路径设置错误 ;3)sock文件所在目录的权限问题;4)这个文件直接丢失了
解决步骤:
1)检查服务有没有启动
2)在f文件中查看socket参数指定的路径,查看这个路径有没有访问权限
3)到那个路径下去看一下到底有没有这个mysql.sock文件,如果该路径下没有sock文件,我们先用find命令找出这个文件的位置,如果find也找不到,重启一下mysql服务即可,会自动生成一个。然后把他复制到soctek参数指定的路径下去。或者建立一个软连接,这也是比较推荐的方法,比如这个文件在/var/lib/mysql.sock,socket参数指定的路径是/tmp/mysql.sock。我们就可以这样创建:ln -s /var/lib/mysql.sock /tmp/mysql.sock,创建完之后,再尝试连接
另外需要注意的是,mysql.sock文件默认是在/tmp下,数据库启动的时候,系统也默认去这个文件下找mysql.sock文件,但是/tmp目录有时会被某个定时任务给清除,那么我们可以给/tmp目录加一个sticky权限,保护其不被删除,chmod +t /tmp即可,使得/tmp下的文件只能由文件所有者和root用户才能删除
4)如果还是报那个错误,我们就用TCP/IP来连接
mysql -uroot -h 192.168.142.160 -p#-h后面是数据库服务器的IP
或者 mysql -uroot -h 127.0.0.1 -p
更多PHP相关知识,请访问PHP中文网!