簡體   English   中英

開始使用預編譯的mysql,但得到:無法通過套接字'/tmp/mysql.sock'(2)連接到本地MySQL服務器

[英]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] ,它應同時適用於mysqlmysqladmin

[client]
socket=/var/lib/mysql/mysql.sock

您不需要執行mysql.server啟動嗎

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM