Я пытаюсь подключиться к серверу mysql, но это вызывает у меня проблему с сокетом. Я отредактировал my.cnf из /var/lib/mysql/mysql.sock в /home/mysql/mysql.sock Nb: проблема существует до перемещения файла mysql db в новый каталог.
[root@dc ~]# /usr/bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@dc ~]# ps aux | grep mysqld
root 8472 0.0 0.0 108216 1596 pts/2 S 10:18 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/home/mysql --socket=/home/mysql/mysql.sock --pid- file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql 8691 0.1 0.0 543468 47860 pts/2 Sl 10:18 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/home/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/home/mysql/mysql.sock
root 8825 0.0 0.0 103356 852 pts/2 S+ 10:20 0:00 grep mysqld
Директива mysqld в my.cnf:
[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock
Вы проверили, что файл /home/mysql/mysql.sock существует и доступен для чтения и т. Д.?
Я видел это в прошлом, когда возникают правильные проблемы, и файл не создается или недоступен.
Кроме того, есть ли какие-либо ошибки в журналах, когда вы выполняете '/etc/init.d/mysqld restart' *?
// Майк * или что угодно в вашей ОС для перезапуска демона / службы
Попробуйте добавить сокет в my.cnf в клиентской директиве.
[mysql]
# CLIENT #
port = 3306
socket = /home/mysql/mysql.sock
[mysqld_safe]
socket = /home/mysql/mysql.sock
nice = 0
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
pid-file = /var/run/mysqld/mysqld.pid
socket = /home/mysql/mysql.sock
ваш вывод ps показывает, что сокет вашего mysqld хранится в:
/home/mysql/mysql.sock
но ваш клиент mysql пытается использовать значение по умолчанию:
/var/lib/mysql/mysql.sock
Итак, вы можете попробовать:
/usr/bin/mysql -u root -p -S /home/mysql/mysql.sock