Проблема с паролем MySQL mysql

Короткая версия: аргумент xterm - это оболочка для выполнения xterm; (d1) Длинная версия:

xterm xterm передает xterm на вызов xterm в качестве оболочки xterm, устанавливая значение 10 PRINT "xterm" 20 GOTO 10.

f4] переменной xterm (1-й параметр xterm интерпретируется как оболочка для выполнения), тогда xterm, выполняемый вашей командой xterm xterm, выполняет $SHELL - в этом случае создается другой экземпляр xterm (поскольку $SHELL=xterm теперь) $SHELL=xterm, так что вновь созданный xterm выполняет xterm goto 3

Дальнейшее чтение: man xterm

1
задан 1 July 2017 в 17:12

9 ответов

Две опции:

Сначала очистка mysql (только если у вас еще нет базы данных):

Используйте

apt-get purge mysql-server

для очистки а затем

apt-get install mysql-server

просто переустановить его. При установке он должен запросить у вас пароль. Это самый простой и быстрый способ, однако может возникнуть проблема, если некоторые программы, такие как phpmyadmin, уже подключены к существующему MySQL, поэтому я предлагаю вам использовать 2. Option: остановить сервер MySQL с помощью

sudo service mysql stop 

Затем запустите безопасный режим с помощью

sudo /usr/bin/mysqld_safe --skip-grant-tables & 

Выберите localhost как хост (после последней команды не будет командной строки, поэтому после сообщения Starting mysqld daemon with databases from [...] введите следующую команду)

mysql -h localhost

выберите mysql с типом

USE mysql 

(замените YOURNEWPASSWORD своим новым паролем!)

UPDATE mysql.user 

SET authentication_string = PASSWORD ('new_password ') WHERE user =' root 'И host =' localhost ';

Выход с

quit 

И перезапустите MySQL с помощью

sudo mysqladmin shutdown 
sudo service mysql start

(Замените YOURNEWPASSWORD своим новым паролем!) [ ! d13]

Эта ошибка имеет какое-то отношение к вашему сокету MySQL. Сначала вы хотите найти все файлы сокетов в вашей системе с помощью:

sudo find / -type s

Ваш сокет должен быть чем-то подобным этому

/var/lib/mysql/mysql.sock

(важна часть /mysql.sock)

Как только вы обнаружите, где сокет открывается, добавьте или отредактируйте строку в файле

/etc/my.cnf 

с указанием пути к файлу сокета:

положите

[mysqld]

в самом начале и

socket=/path/to/your/socket/

в самом конце файла.

Попробуйте вариант 2. снова. Если это не работает, продолжайте это объяснение.

Если это не решит вашу проблему, что-то переопределит местоположение my.cnf, и это приведет к тому, что сокет не будет найден там, где файл my.cnf указывает, что это должно быть. Затем, когда вы пытаетесь запустить клиент командной строки mysql, он будет читать my.cnf, чтобы найти сокет, но он не найдет его, поскольку он отклоняется от того, где его создал сервер. Итак, если вы не заботитесь о том, где находится сокет, нужно просто изменить my.cnf на соответствие.

Чтобы исправить это, остановите процесс mysqld

pkill -9 mysqld

После этого вы можете захотеть найти файл pid в / var / run / mysqld / и удалить его

Убедитесь, что разрешения на вашем соке таковы, что любой пользовательский mysqld работает, как может читать / напишите ему. Легкий тест заключается в том, чтобы открыть его до полного чтения / записи и посмотреть, все ли работает:

chmod 755 /var/run/mysqld/mysqld.sock

Источники:

https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html

https://dev.mysql.com/doc/ refman / 5.7 / ru / mysql-commands.html

https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through- сокет-вар-вводного туздЫ-mysq

1
ответ дан 22 May 2018 в 20:58
  • 1
    Когда я пытаюсь войти в систему под именем root (шаг 3 варианта 2), он говорит - ERROR 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2) [1] + Выход 1 - это нормально? – A. N. Other 2 July 2017 в 08:43
  • 2
    @ A.N.Друго отредактировал мой ответ немного – ADDB 2 July 2017 в 10:20
  • 3
    Я вижу только /run/mysqld/mysqld.sock в списке сокетов с mysql в их имени ... Это немного отличается от того, который вы предлагаете ... Если вы думаете, что все в порядке, я продолжу ваши предложения. Благодарю. – A. N. Other 2 July 2017 в 10:47
  • 4
    Все нормально. Я только сказал что-то подобное. – ADDB 2 July 2017 в 10:48
  • 5
    Я поместил новую строку в путь /etc/mysql/my.cnf. Затем, после «таблиц пропуска пропуска», он говорит: mysqld: [ERROR] Найден вариант без предыдущей группы в файле конфигурации /etc/mysql/my.cnf в строке 23! mysqld: [ERROR] Неустранимая ошибка при обработке по умолчанию. Программа прервана! - есть также файл mysql.cnf.d, который содержит другие .cnf-файлы ... mysqld.cnf mysqld_safe_syslog.cnf - Должен ли я редактировать их все? – A. N. Other 2 July 2017 в 11:03

Две опции:

Сначала очистка mysql (только если у вас еще нет базы данных):

Используйте

apt-get purge mysql-server

для очистки а затем

apt-get install mysql-server

просто переустановить его. При установке он должен запросить у вас пароль. Это самый простой и быстрый способ, однако может возникнуть проблема, если некоторые программы, такие как phpmyadmin, уже подключены к существующему MySQL, поэтому я предлагаю вам использовать 2. Option: остановить сервер MySQL с помощью

sudo service mysql stop

Затем запустите безопасный режим с помощью

sudo /usr/bin/mysqld_safe --skip-grant-tables &

Выберите localhost как хост (после последней команды не будет командной строки, поэтому после сообщения Starting mysqld daemon with databases from [...] введите следующую команду)

mysql -h localhost

выберите mysql с типом

USE mysql

(замените YOURNEWPASSWORD своим новым паролем!)

UPDATE mysql.user

SET authentication_string = PASSWORD ('new_password ') WHERE user =' root 'И host =' localhost ';

Выход с

quit

И перезапустите MySQL с помощью

sudo mysqladmin shutdown sudo service mysql start

(Замените YOURNEWPASSWORD своим новым паролем!) [ ! d13]

Эта ошибка имеет какое-то отношение к вашему сокету MySQL. Сначала вы хотите найти все файлы сокетов в вашей системе с помощью:

sudo find / -type s

Ваш сокет должен быть чем-то подобным этому

/var/lib/mysql/mysql.sock

(важна часть /mysql.sock)

Как только вы обнаружите, где сокет открывается, добавьте или отредактируйте строку в файле

/etc/my.cnf

с указанием пути к файлу сокета:

положите

[mysqld]

в самом начале и

socket=/path/to/your/socket/

в самом конце файла.

Попробуйте вариант 2. снова. Если это не работает, продолжайте это объяснение.

Если это не решит вашу проблему, что-то переопределит местоположение my.cnf, и это приведет к тому, что сокет не будет найден там, где файл my.cnf указывает, что это должно быть. Затем, когда вы пытаетесь запустить клиент командной строки mysql, он будет читать my.cnf, чтобы найти сокет, но он не найдет его, поскольку он отклоняется от того, где его создал сервер. Итак, если вы не заботитесь о том, где находится сокет, нужно просто изменить my.cnf на соответствие.

Чтобы исправить это, остановите процесс mysqld

pkill -9 mysqld

После этого вы можете захотеть найти файл pid в / var / run / mysqld / и удалить его

Убедитесь, что разрешения на вашем соке таковы, что любой пользовательский mysqld работает, как может читать / напишите ему. Легкий тест заключается в том, чтобы открыть его до полного чтения / записи и посмотреть, все ли работает:

chmod 755 /var/run/mysqld/mysqld.sock

Источники:

https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html

https://dev.mysql.com/doc/ refman / 5.7 / ru / mysql-commands.html

https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through- сокет-вар-вводного туздЫ-mysq

1
ответ дан 18 July 2018 в 10:50

Две опции:

Сначала очистка mysql (только если у вас еще нет базы данных):

Используйте

apt-get purge mysql-server

для очистки а затем

apt-get install mysql-server

просто переустановить его. При установке он должен запросить у вас пароль. Это самый простой и быстрый способ, однако может возникнуть проблема, если некоторые программы, такие как phpmyadmin, уже подключены к существующему MySQL, поэтому я предлагаю вам использовать 2. Option: остановить сервер MySQL с помощью

sudo service mysql stop

Затем запустите безопасный режим с помощью

sudo /usr/bin/mysqld_safe --skip-grant-tables &

Выберите localhost как хост (после последней команды не будет командной строки, поэтому после сообщения Starting mysqld daemon with databases from [...] введите следующую команду)

mysql -h localhost

выберите mysql с типом

USE mysql

(замените YOURNEWPASSWORD своим новым паролем!)

UPDATE mysql.user

SET authentication_string = PASSWORD ('new_password ') WHERE user =' root 'И host =' localhost ';

Выход с

quit

И перезапустите MySQL с помощью

sudo mysqladmin shutdown sudo service mysql start

(Замените YOURNEWPASSWORD своим новым паролем!) [ ! d13]

Эта ошибка имеет какое-то отношение к вашему сокету MySQL. Сначала вы хотите найти все файлы сокетов в вашей системе с помощью:

sudo find / -type s

Ваш сокет должен быть чем-то подобным этому

/var/lib/mysql/mysql.sock

(важна часть /mysql.sock)

Как только вы обнаружите, где сокет открывается, добавьте или отредактируйте строку в файле

/etc/my.cnf

с указанием пути к файлу сокета:

положите

[mysqld]

в самом начале и

socket=/path/to/your/socket/

в самом конце файла.

Попробуйте вариант 2. снова. Если это не работает, продолжайте это объяснение.

Если это не решит вашу проблему, что-то переопределит местоположение my.cnf, и это приведет к тому, что сокет не будет найден там, где файл my.cnf указывает, что это должно быть. Затем, когда вы пытаетесь запустить клиент командной строки mysql, он будет читать my.cnf, чтобы найти сокет, но он не найдет его, поскольку он отклоняется от того, где его создал сервер. Итак, если вы не заботитесь о том, где находится сокет, нужно просто изменить my.cnf на соответствие.

Чтобы исправить это, остановите процесс mysqld

pkill -9 mysqld

После этого вы можете захотеть найти файл pid в / var / run / mysqld / и удалить его

Убедитесь, что разрешения на вашем соке таковы, что любой пользовательский mysqld работает, как может читать / напишите ему. Легкий тест заключается в том, чтобы открыть его до полного чтения / записи и посмотреть, все ли работает:

chmod 755 /var/run/mysqld/mysqld.sock

Источники:

https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html

https://dev.mysql.com/doc/ refman / 5.7 / ru / mysql-commands.html

https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through- сокет-вар-вводного туздЫ-mysq

1
ответ дан 24 July 2018 в 19:39

Для MySQL 5.7 в журналах печатается пароль по умолчанию. Быстрый grep может вернуть его.

grep 'temporary password' /var/log/mysqld.log

Ссылки: https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root -password /

https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root-password/ [!d2 ]

https://stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7

https :

//stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7
1
ответ дан 22 May 2018 в 20:58
  • 1
    grep: /var/log/mysqld.log: " Нет такого файла или каталога & quot ;. У меня есть / var / log / mysql, а затем «error.log error.log.2.gz error.log.4.gz error.log.6.gz error.log.1.gz error.log.3.gz error.log.5.gz error.log.7.gz " – A. N. Other 1 July 2017 в 17:35
  • 2
    Попробуйте это на /var/log/mysql/error.log. Это просто другое имя журнала. Есть ли какой-нибудь из файлов вокруг ответа? Файл, который вы регистрируете, скорее всего находится где-то в файле conf для MySQL, который должен быть где-то вроде «/etc/mysql/mysql.conf.d/mysqld.cnf" – Bujiraso 1 July 2017 в 17:37
  • 3
    С «временным паролем» нет, если у меня grep 'password' есть: 'Shutting down plugin' sha256_password 'и' Shutting down plugin 'mysql_native_password', но никакого фактического пароля – A. N. Other 1 July 2017 в 17:42
  • 4
    Я бы быстро сделал «zgrep временный» " в этом каталоге, а если ничего не получается, выполните шаги здесь , чтобы обходить права доступа и установить новый пароль root. Более подробные инструкции по сбросу: в документах MySQL – Bujiraso 1 July 2017 в 17:46
  • 5
    Вся информация на самом деле зависит от распределения, и на этом этапе я не понимаю, что мне делать в моем случае. Интересно, должен ли любой, кто хочет попробовать mysql на Linux, пройти все это?!?! – A. N. Other 1 July 2017 в 19:01

UBUNTU 16.04 и MYSQL 5.7.20

Я не нашел инструкции ADDB полностью полезными. После поиска я обнаружил следующее (небольшая перезапись для варианта 2):

sudo /etc/init.d/mysql stop
    sudo mkdir /var/run/mysqld/
    sudo chown mysql /var/run/mysqld/
    sudo mysqld_safe --skip-grant-tables &
    mysql -uroot
    use mysql;
    update user set authentication_string=PASSWORD("NEW_PASSWORD_GOES_HERE") where User='root';
    flush privileges;
    quit;
    sudo /etc/init.d/mysql stop
    sudo /etc/init.d/mysql start    

Ссылка: http://rricketts.com/reset-root-password-mysql-5-7-ubuntu -16-04-lts /

Мой предпочтительный метод:

Я использовал пользователя Mysql «debian-sys-maint» (корневой эквивалент). Пароль можно найти в файле /etc/mysql/debian.cnf. После входа в Mysql, когда этот пользователь меняет пароль для любого пользователя Mysql.

USE mysql
SELECT root@localhost;
ALTER USER user IDENTIFIED BY 'auth_string';
ALTER USER 'Name_of_user_to_be_modified'@'Hostname (ie:localhost)' IDENTIFIED BY 'NEW_PASSWORD';
flush privileges;
exit;

Ссылка: http://rricketts.com/reset-root-password-mysql-5-7- убунт-16-04-LTS /

0
ответ дан 22 May 2018 в 20:58

UBUNTU 16.04 и MYSQL 5.7.20

Я не нашел инструкции ADDB полностью полезными. После поиска я обнаружил следующее (небольшая перезапись для варианта 2):

sudo /etc/init.d/mysql stop sudo mkdir /var/run/mysqld/ sudo chown mysql /var/run/mysqld/ sudo mysqld_safe --skip-grant-tables & mysql -uroot use mysql; update user set authentication_string=PASSWORD("NEW_PASSWORD_GOES_HERE") where User='root'; flush privileges; quit; sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start

Ссылка: http://rricketts.com/reset-root-password-mysql-5-7-ubuntu -16-04-lts /

Мой предпочтительный метод:

Я использовал пользователя Mysql «debian-sys-maint» (корневой эквивалент). Пароль можно найти в файле /etc/mysql/debian.cnf. После входа в Mysql, когда этот пользователь меняет пароль для любого пользователя Mysql.

USE mysql SELECT root@localhost; ALTER USER user IDENTIFIED BY 'auth_string'; ALTER USER 'Name_of_user_to_be_modified'@'Hostname (ie:localhost)' IDENTIFIED BY 'NEW_PASSWORD'; flush privileges; exit;

Ссылка: http://rricketts.com/reset-root-password-mysql-5-7- убунт-16-04-LTS /

0
ответ дан 18 July 2018 в 10:50

Для MySQL 5.7 в журналах печатается пароль по умолчанию. Быстрый grep может вернуть его.

grep 'temporary password' /var/log/mysqld.log

Ссылки: https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root -password /

https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root-password/

https://stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7

https :

//stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7
1
ответ дан 18 July 2018 в 10:50

UBUNTU 16.04 и MYSQL 5.7.20

Я не нашел инструкции ADDB полностью полезными. После поиска я обнаружил следующее (небольшая перезапись для варианта 2):

sudo /etc/init.d/mysql stop sudo mkdir /var/run/mysqld/ sudo chown mysql /var/run/mysqld/ sudo mysqld_safe --skip-grant-tables & mysql -uroot use mysql; update user set authentication_string=PASSWORD("NEW_PASSWORD_GOES_HERE") where User='root'; flush privileges; quit; sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start

Ссылка: http://rricketts.com/reset-root-password-mysql-5-7-ubuntu -16-04-lts /

Мой предпочтительный метод:

Я использовал пользователя Mysql «debian-sys-maint» (корневой эквивалент). Пароль можно найти в файле /etc/mysql/debian.cnf. После входа в Mysql, когда этот пользователь меняет пароль для любого пользователя Mysql.

USE mysql SELECT root@localhost; ALTER USER user IDENTIFIED BY 'auth_string'; ALTER USER 'Name_of_user_to_be_modified'@'Hostname (ie:localhost)' IDENTIFIED BY 'NEW_PASSWORD'; flush privileges; exit;

Ссылка: http://rricketts.com/reset-root-password-mysql-5-7- убунт-16-04-LTS /

0
ответ дан 24 July 2018 в 19:39

Для MySQL 5.7 в журналах печатается пароль по умолчанию. Быстрый grep может вернуть его.

grep 'temporary password' /var/log/mysqld.log

Ссылки: https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root -password /

https://www.percona.com/blog/2016/05/18/where-is-the-mysql-5-7-root-password/

https://stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7

https :

//stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7
1
ответ дан 24 July 2018 в 19:39
  • 1
    grep: /var/log/mysqld.log: & quot; Нет такого файла или каталога & quot ;. У меня есть / var / log / mysql, а затем «error.log error.log.2.gz error.log.4.gz error.log.6.gz error.log.1.gz error.log.3.gz error.log.5.gz error.log.7.gz & quot; – A. N. Other 1 July 2017 в 17:35
  • 2
    Попробуйте это на /var/log/mysql/error.log. Это просто другое имя журнала. Есть ли какой-нибудь из файлов вокруг ответа? Файл, который вы регистрируете, скорее всего находится где-то в файле conf для MySQL, который должен быть где-то вроде «/etc/mysql/mysql.conf.d/mysqld.cnf" – Bujiraso 1 July 2017 в 17:37
  • 3
    С «временным паролем» нет, если у меня grep 'password' есть: 'Shutting down plugin' sha256_password 'и' Shutting down plugin 'mysql_native_password', но никакого фактического пароля – A. N. Other 1 July 2017 в 17:42
  • 4
    Я бы быстро сделал «zgrep временный» & quot; в этом каталоге, а если ничего не получается, выполните шаги здесь , чтобы обходить права доступа и установить новый пароль root. Более подробные инструкции по сбросу: в документах MySQL – Bujiraso 1 July 2017 в 17:46
  • 5
    Вся информация на самом деле зависит от распределения, и на этом этапе я не понимаю, что мне делать в моем случае. Интересно, должен ли любой, кто хочет попробовать mysql на Linux, пройти все это?!?! – A. N. Other 1 July 2017 в 19:01

Другие вопросы по тегам:

Похожие вопросы: