![](/img/trans.png)
[英]Can't connect to local MySQL server through socket '/tmp/mysql.sock' when using sourcemod
[英]start using pre-compiled mysql, but get: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我知道我要問的問題與其他人有些相似,但是我的情況有所不同:我沒有使用yum安裝mysql-server,也沒有使用rpm或compile-makeinstall來安裝它。 我只是從官方網站下載了壓縮的預編譯二進制文件: http : //dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz
因此,沒有/etc/init.d/mysqld,“service mysqld start / stop / restart”將無法工作。
我取消存檔,並使用以下代碼初始化了數據庫:
./scripts/mysql_install_db
然后開始:
./bin/mysqld_safe &
到現在為止一切正常,但是當我嘗試使用mysql連接它時,它提示:
# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
數據目錄已更改為:
drw-rw-rw- 4 mysql mysql 4096 Jan 3 14:03 mysql
以下停止命令也無法工作:
# mysqladmin shutdown
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
mysqld_safe進程和mysqld進程都正常工作:
# ps -ef | grep mysqld
root 10977 5685 0 14:03 pts/2 00:00:00 /bin/sh ./bin/mysqld_safe
mysql 11154 10977 0 14:03 pts/2 00:00:00 /root/mysql-5.1.73-linux-x86_64-glibc23/bin/mysqld
--basedir=/root/mysql-5.1.73-linux-x86_64-glibc23
--datadir=/var/lib/mysql --user=mysql
--log-error=/var/log/mysqld.log
--pid-file=/var/run/mysqld/mysqld.pid
--socket=/var/lib/mysql/mysql.sock
root 11650 5685 0 14:26 pts/2 00:00:00 grep mysqld
/etc/my.cnf中的一些配置信息是:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
old_passwords=1
# ps -ef | grep mysqld
root 10977 5685 0 14:03 pts/2 00:00:00 /bin/sh ./bin/mysqld_safe
mysql 11154 10977 0 14:03 pts/2 00:00:00 /root/mysql-5.1.73-linux-x86_64-glibc23/bin/mysqld
--basedir=/root/mysql-5.1.73-linux-x86_64-glibc23
--datadir=/var/lib/mysql --user=mysql
--log-error=/var/log/mysqld.log
--pid-file=/var/run/mysqld/mysqld.pid
--socket=/var/lib/mysql/mysql.sock
您的套接字在/var/lib/mysql/mysql.sock
猜測您正在使用/usr/bin/mysql
要連接到mysql,您可以更新/etc/my.cnf
,為[mysql]
部分設置socket=/var/lib/mysql/mysql.sock
[mysql]
socket=/var/lib/mysql/mysql.sock
要修復mysqladmin
您還需要添加[mysqladmin]
部分
[mysqladmin]
socket=/var/lib/mysql/mysql.sock
或者,您可以添加[client]
,它應同時適用於mysql
和mysqladmin
[client]
socket=/var/lib/mysql/mysql.sock
您不需要執行mysql.server啟動嗎
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.