безопасный каталог mysqld '/var / run/mysqld ' для файла сокета UNIX не существует



при запуске mysql server 5.7.17 с помощью mysqld_safe, после ошибки occcours.



2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.


Как это исправить ?

576   4  

4 ответов:

Кажется странным, что этот каталог не был создан при установке - вы вручную изменили путь к файлу сокета в my.cfg?

вы пробовали просто создать этот каталог самостоятельно и перезапустить службу?

mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld

когда я использовал код mysqld_safe --skip-grant-tables & но я получаю ошибку:

каталог mysqld_safe '/var/run / mysqld' для файла сокета UNIX не существует.

$ systemctl stop  mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &

решил:

$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld

сейчас я использую тот же код mysqld_safe --skip-grant-tables & и вам

mysqld_safe запуск демона mysqld с базами данных из /var / lib / mysql

если я использую $ mysql -u root я вам :

сервер версия: 5.7.18-0ubuntu0.16.04.1 (Убунту)

Copyright (c) 2000, 2017, Oracle и/или ее филиалы. Все права защищены.

Oracle является зарегистрированным товарным знаком корпорации Oracle и/или ее филиалы. Другие наименования могут быть товарными знаками их соответствующих владельцы.

введите 'help;' или '\h ' для справки. Введите '\c', чтобы очистить текущий оператор ввода.

mysql>

теперь время, чтобы изменить пароль:

mysql> use mysql
mysql> describe user;

чтение табличной информации для завершения имен таблиц и столбцов Вы можете отключить эту функцию, чтобы получить более быстрый запуск с

база данных изменена

mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('newpwd');

или если у вас есть учетная запись MySQL root, которая может подключаться отовсюду, вы также должны сделать:

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

Альтернативный Метод:

   USE mysql
   UPDATE user SET Password = PASSWORD('newpwd')
   WHERE Host = 'localhost' AND User = 'root';

и если у вас есть учетная запись root, можно получить доступ от везде:

 USE mysql
 UPDATE user SET Password = PASSWORD('newpwd')
 WHERE Host = '%' AND User = 'root';`enter code here

теперь нужно quit из mysql и stop / start

FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

теперь снова 'mysql - u root-p' и использовать новый пароль, чтобы получить

mysql>

Работа для меня в CentOS:

$ service mysql stop
$ mysqld --skip-grant-tables &
$ mysql -u root mysql

mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

$ service mysql restart

вы можете попробовать следующее, если в вашей базе данных нет никаких данных или у вас есть другой, чтобы восстановить эти данные. Вам нужно будет знать пароль корня сервера Ubuntu, но не пароль корня mysql.

весьма вероятно, что многие из нас установили "mysql_secure_installation", как это рекомендуется. Перейдите в каталог bin, где существует mysql_secure_installation. Его можно найти в каталоге /bin на системах Ubuntu. При повторном запуске программы установки вы будете будет предложено изменить пароль корневой базы данных.

Comments

    Ничего не найдено.