Переустановка MySQL или сброс его корневого пароля

вы также можете выбрать kcalc, там есть научный режим в kcalc, и вы можете выбрать математические константы, например. PI, Euler, золотое соотношение ...

, если вы хотите пощекотать больше из PI в собственной письменной программе, вы можете использовать библиотеку http://gmplib.org/ этой библиотеки, которую вы можете использовать, когда компиляция с gcc соответственно. g ++

получайте удовольствие!

3
задан 21 April 2018 в 20:15

9 ответов

Наконец-то разобрался.

Сначала обнаружил и удалил все экземпляры my.cnf.bak. Также удалены файлы /etc/alternatives/my.cnf, /var/lib/dpkg/alternatives/my.cnf и /etc/mysql/conf.d (но созданы резервные копии). Затем

sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client

Если вы все еще получаете что-то вроде

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

, это часто разрешается с помощью

sudo service mysql start
0
ответ дан 22 May 2018 в 11:19

Наконец-то разобрался.

Сначала обнаружил и удалил все экземпляры my.cnf.bak. Также удалены файлы /etc/alternatives/my.cnf, /var/lib/dpkg/alternatives/my.cnf и /etc/mysql/conf.d (но созданы резервные копии). Затем

sudo apt-get remove --purge mysql-\* sudo apt-get install mysql-server mysql-client

Если вы все еще получаете что-то вроде

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

, это часто разрешается с помощью

sudo service mysql start
0
ответ дан 17 July 2018 в 16:26

Наконец-то разобрался.

Сначала обнаружил и удалил все экземпляры my.cnf.bak. Также удалены файлы /etc/alternatives/my.cnf, /var/lib/dpkg/alternatives/my.cnf и /etc/mysql/conf.d (но созданы резервные копии). Затем

sudo apt-get remove --purge mysql-\* sudo apt-get install mysql-server mysql-client

Если вы все еще получаете что-то вроде

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

, это часто разрешается с помощью

sudo service mysql start
0
ответ дан 23 July 2018 в 17:19

Чтобы сбросить пароли MySQL, выполните процедуру, описанную в разделе «B.5.3.2.2 Сброс пароля root: Unix и Unix-подобные системы»:

Остановите сервер MySQL, отправив нормальный kill ( а не kill -9) к процессу mysqld. Используйте фактическое имя пути файла .pid в следующей команде:
kill `cat /mysql-data-directory/host_name.pid`

Остановите сервер MySQL, отправив нормальный kill (не kill -9) в mysqld обработать. Используйте фактическое имя пути файла .pid в следующей команде:

Создайте текстовый файл, содержащий оператор присваивания пароля в одной строке. Замените пароль на пароль, который вы хотите использовать.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Создайте текстовый файл, содержащий оператор присваивания пароля в одной строке. Замените пароль на пароль, который вы хотите использовать.

Запустите сервер MySQL со специальной опцией --init-file:
mysqld --init-file=/home/me/mysql-init &

Запустите сервер MySQL со специальным :

В зависимости от того, как вы обычно запускаете свой сервер, могут потребоваться другие варианты. Например, --defaults-fil e может понадобиться до --init-file. После успешного запуска сервера удалите /home/me/mysql-init.
4
ответ дан 22 May 2018 в 11:19
  • 1
    Я установил mysql, используя настройки по умолчанию. Будет ли каталог данных mysql be / var / lib / mysql /? Я не видел никаких файлов .pid в этом каталоге. Единственные файлы .pid, которые я мог найти, были в каталогах под / run. Например. /run/mysqld/mysqld.pid. Благодаря, – OtagoHarbour 21 April 2018 в 17:04
  • 2
    У вас запущен демон mysql? Если не продолжить создание текстовой плитки. – Romeo Ninov 21 April 2018 в 17:06
  • 3
    Будет ли "sudo /etc/init.d/mysql stop " остановить демон mysql? Я создал / home / ubuntu / mysql-init с новым паролем, запущенным и mysqld --init-file = / home / ubuntu / mysql-init & amp; " а затем «sudo systemctl restart mysql». Затем я попробовал " mysql -u root -p " и введите новый пароль. Я получил " ОШИБКА 1698 (28000): доступ запрещен для пользователя 'root' @ 'localhost' & quot ;. Благодаря, – OtagoHarbour 21 April 2018 в 17:51
  • 4
    Вы можете попробовать войти в систему как root@ip-10-0-1-73, а не только root – Romeo Ninov 21 April 2018 в 18:00
  • 5
    Я попробовал, чтобы потом случайно отключил переключатель -p. Я нахожу, когда я использую sudo (sudo mysql -u root), с ключом -p или без него, он принимает любой пароль. Затем я изменяю пароль внутри mysql. Однако, если я не укажу «sudo», он все еще не принимает новый пароль. – OtagoHarbour 21 April 2018 в 18:40

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

sudo apt install -f

После этого, если вы уже удалили mysql-server, переустановите его:

sudo apt install mysql-server

Если вы еще не удалили его , или если переустановка не запрашивала у вас новый пароль root MySQL, теперь выполняйте (при необходимости, при необходимости обновляя номер версии):

sudo dpkg-reconfigure mysql-server-5.7

Теперь вы должны сбросить пароль. Попробуйте снова войти в систему с правами пользователя root с приглашением интерактивного пароля:

mysql -u root -p

Если вы все еще получаете ошибку

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

, скорее всего, это означает, что сервер MySQL не запущен. Попробуйте запустить его с помощью:

sudo systemctl restart mysql

После этого systemctl status mysql сообщит об этом как «active (running)». Попробуйте войти в систему снова.

3
ответ дан 22 May 2018 в 11:19
  • 1
    Спасибо за ваш ответ. К сожалению, я получаю ошибки, указанные в обновлении 1 моего вопроса. Благодаря, – OtagoHarbour 21 April 2018 в 16:32
  • 2
    Ладно, это странно. Итак, вы говорите, что вам не нужны какие-либо данные / настройки, связанные с текущей установкой mysql? В этом случае я предлагаю попробовать sudo apt autoremove --purge mysql-server, а затем sudo apt install mysql-server. – Byte Commander 21 April 2018 в 17:27
  • 3
    Я только что попробовал это с результатами, показанными в редакции 2. Спасибо, – OtagoHarbour 21 April 2018 в 17:37
  • 4
    Кажется, мой mysql каким-то образом получил повреждение. Есть ли способ полностью взорвать его, чтобы я мог сделать чистую установку? Благодаря, – OtagoHarbour 21 April 2018 в 17:57
  • 5
    Можете ли вы попробовать sudo apt update ; sudo apt install linux-headers-4.4.0-119-generic ; sudo apt upgrade или что-то в этом роде, а затем повторите мой предыдущий комментарий. – Byte Commander 21 April 2018 в 18:09

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

sudo apt install -f

После этого, если вы уже удалили mysql-server, переустановите его:

sudo apt install mysql-server

Если вы еще не удалили его , или если переустановка не запрашивала у вас новый пароль root MySQL, теперь выполняйте (при необходимости, при необходимости обновляя номер версии):

sudo dpkg-reconfigure mysql-server-5.7

Теперь вы должны сбросить пароль. Попробуйте снова войти в систему с правами пользователя root с приглашением интерактивного пароля:

mysql -u root -p

Если вы все еще получаете ошибку

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

, скорее всего, это означает, что сервер MySQL не запущен. Попробуйте запустить его с помощью:

sudo systemctl restart mysql

После этого systemctl status mysql сообщит об этом как «active (running)». Попробуйте войти в систему снова.

3
ответ дан 17 July 2018 в 16:26

Чтобы сбросить пароли MySQL, выполните процедуру, описанную в разделе «B.5.3.2.2 Сброс пароля root: Unix и Unix-подобные системы»:

Остановите сервер MySQL, отправив нормальный kill ( а не kill -9) к процессу mysqld. Используйте фактическое имя пути файла .pid в следующей команде: kill `cat /mysql-data-directory/host_name.pid`

Остановите сервер MySQL, отправив нормальный kill (не kill -9) в mysqld обработать. Используйте фактическое имя пути файла .pid в следующей команде:

Создайте текстовый файл, содержащий оператор присваивания пароля в одной строке. Замените пароль на пароль, который вы хотите использовать.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Создайте текстовый файл, содержащий оператор присваивания пароля в одной строке. Замените пароль на пароль, который вы хотите использовать.

Запустите сервер MySQL со специальной опцией --init-file:
mysqld --init-file=/home/me/mysql-init &

Запустите сервер MySQL со специальным --init-file:

В зависимости от того, как вы обычно запускаете свой сервер, могут потребоваться другие варианты. Например, --defaults-fil e может понадобиться до --init-file. После успешного запуска сервера удалите /home/me/mysql-init.
4
ответ дан 17 July 2018 в 16:26

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

sudo apt install -f

После этого, если вы уже удалили mysql-server, переустановите его:

sudo apt install mysql-server

Если вы еще не удалили его , или если переустановка не запрашивала у вас новый пароль root MySQL, теперь выполняйте (при необходимости, при необходимости обновляя номер версии):

sudo dpkg-reconfigure mysql-server-5.7

Теперь вы должны сбросить пароль. Попробуйте снова войти в систему с правами пользователя root с приглашением интерактивного пароля:

mysql -u root -p

Если вы все еще получаете ошибку

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

, скорее всего, это означает, что сервер MySQL не запущен. Попробуйте запустить его с помощью:

sudo systemctl restart mysql

После этого systemctl status mysql сообщит об этом как «active (running)». Попробуйте войти в систему снова.

3
ответ дан 23 July 2018 в 17:19
  • 1
    Спасибо за ваш ответ. К сожалению, я получаю ошибки, указанные в обновлении 1 моего вопроса. Благодаря, – OtagoHarbour 21 April 2018 в 16:32
  • 2
    Ладно, это странно. Итак, вы говорите, что вам не нужны какие-либо данные / настройки, связанные с текущей установкой mysql? В этом случае я предлагаю попробовать sudo apt autoremove --purge mysql-server, а затем sudo apt install mysql-server. – Byte Commander 21 April 2018 в 17:27
  • 3
    Я только что попробовал это с результатами, показанными в редакции 2. Спасибо, – OtagoHarbour 21 April 2018 в 17:37
  • 4
    Кажется, мой mysql каким-то образом получил повреждение. Есть ли способ полностью взорвать его, чтобы я мог сделать чистую установку? Благодаря, – OtagoHarbour 21 April 2018 в 17:57
  • 5
    Можете ли вы попробовать sudo apt update ; sudo apt install linux-headers-4.4.0-119-generic ; sudo apt upgrade или что-то в этом роде, а затем повторите мой предыдущий комментарий. – Byte Commander 21 April 2018 в 18:09

Чтобы сбросить пароли MySQL, выполните процедуру, описанную в разделе «B.5.3.2.2 Сброс пароля root: Unix и Unix-подобные системы»:

Остановите сервер MySQL, отправив нормальный kill ( а не kill -9) к процессу mysqld. Используйте фактическое имя пути файла .pid в следующей команде: kill `cat /mysql-data-directory/host_name.pid`

Остановите сервер MySQL, отправив нормальный kill (не kill -9) в mysqld обработать. Используйте фактическое имя пути файла .pid в следующей команде:

Создайте текстовый файл, содержащий оператор присваивания пароля в одной строке. Замените пароль на пароль, который вы хотите использовать.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Создайте текстовый файл, содержащий оператор присваивания пароля в одной строке. Замените пароль на пароль, который вы хотите использовать.

Запустите сервер MySQL со специальной опцией --init-file:
mysqld --init-file=/home/me/mysql-init &

Запустите сервер MySQL со специальным --init-file:

В зависимости от того, как вы обычно запускаете свой сервер, могут потребоваться другие варианты. Например, --defaults-fil e может понадобиться до --init-file. После успешного запуска сервера удалите /home/me/mysql-init.
4
ответ дан 23 July 2018 в 17:19
  • 1
    Я установил mysql, используя настройки по умолчанию. Будет ли каталог данных mysql be / var / lib / mysql /? Я не видел никаких файлов .pid в этом каталоге. Единственные файлы .pid, которые я мог найти, были в каталогах под / run. Например. /run/mysqld/mysqld.pid. Благодаря, – OtagoHarbour 21 April 2018 в 17:04
  • 2
    У вас запущен демон mysql? Если не продолжить создание текстовой плитки. – Romeo Ninov 21 April 2018 в 17:06
  • 3
    Будет ли "sudo /etc/init.d/mysql stop & quot; остановить демон mysql? Я создал / home / ubuntu / mysql-init с новым паролем, запущенным и mysqld --init-file = / home / ubuntu / mysql-init & amp; & quot; а затем «sudo systemctl restart mysql». Затем я попробовал & quot; mysql -u root -p & quot; и введите новый пароль. Я получил & quot; ОШИБКА 1698 (28000): доступ запрещен для пользователя 'root' @ 'localhost' & quot ;. Благодаря, – OtagoHarbour 21 April 2018 в 17:51
  • 4
    Вы можете попробовать войти в систему как root@ip-10-0-1-73, а не только root – Romeo Ninov 21 April 2018 в 18:00
  • 5
    Я попробовал, чтобы потом случайно отключил переключатель -p. Я нахожу, когда я использую sudo (sudo mysql -u root), с ключом -p или без него, он принимает любой пароль. Затем я изменяю пароль внутри mysql. Однако, если я не укажу «sudo», он все еще не принимает новый пароль. – OtagoHarbour 21 April 2018 в 18:40

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

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