как войти в MySQL и запросить базу данных с терминала Linux - PullRequest
92 голосов
/ 01 июня 2011

Я использую Debian Linux.У меня есть машина Linux, на которой установлен MySQL.Я могу войти на мою Linux-машину, используя пользователя root, а также другого пользователя.Я могу подключиться к базе данных MySQL на Linux-машине с Windows-машины, используя sqlyog.Теперь я хочу выполнять запросы на машине linux только с помощью терминала linux

Я попытался выполнить следующие действия на терминале

Я перешел в корневой каталог, затем перешел в каталог / var / lib

Я запускаю следующие команды на терминале

mysqladmin -u root -p
mysqladmin -u root -ppassword

каждый раз, когда получаю следующее сообщение об ошибке

ОШИБКА 1045 (28000) Доступ запрещен для пользователя 'root' @ 'localhost' (Используя пароль НЕТ)

, пожалуйста, помогите мне выполнить следующие действия:

  1. Как получить приглашение mysql в терминале linux?
  2. Как остановить сервер mysql изтерминал linux?
  3. Как запустить сервер mysql из терминала linux?
  4. Как получить приглашение mysql в терминале linux?
  5. Как мне войти на сервер mysql из linuxтерминал?
  6. Как решить следующую ошибку?

ОШИБКА 1045 (28000) Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль НЕТ)

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

Ответы [ 11 ]

166 голосов
/ 01 июня 2011

1.- Как мне получить приглашение mysql в терминале linux?

mysql -u root -p

В командной строке Enter password: введите пароль root:)

Дополнительную информацию можно найти, набрав mysql --help или в онлайн-руководстве .

2.Как я могу остановить MySQL сервер из терминала Linux?

Это зависит.В дистрибутивах Red Hat есть команда service:

service mysqld stop

Другие дистрибутивы требуют прямого вызова сценария инициализации:

/etc/init.d/mysqld stop

3.Как запустить сервер mysql с терминала linux?

То же, что и # 2, но с start.

4.Как получить приглашение mysql в терминале linux?

То же, что # 1.

5.Как мне войти на сервер MySQL через терминал linux?

То же, что # 1.

6.Как решить следующую ошибку?

То же, что и # 1.

8 голосов
/ 01 июня 2011

На ваш первый вопрос:

mysql -u root -p

или

mysqladmin -u root -p "your_command"

в зависимости от того, что вы хотите сделать. Пароль будет запрошен, как только вы нажмете Enter! Я предполагаю, что вы действительно хотите использовать mysql , а не mysqladmin .

Для перезапуска или остановки MySQL-сервера в linux это зависит от вашей установки, но в общих производных Debian это будет работать для запуска, остановки и перезапуска службы:

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

В некоторых новых дистрибутивах это может также работать, если MySQL настроен как deamon / service.

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

Но на вопрос действительно невозможно ответить, не зная ваших конкретных настроек.

5 голосов
/ 01 июня 2011

Я предполагаю, что вы хотите использовать клиент mysql, что хорошо и намного эффективнее, чем любые альтернативы phpMyAdmin.

Чтобы войти в систему с помощью клиента командной строки, введите:

mysql -u username -p

Обратите внимание, я не набрал пароль. Это сделало бы пароль видимым на экране, что не хорошо в многопользовательской среде!

После того, как вы нажмете эту клавишу ввода, mysql попросит вас ввести пароль.

После входа в систему вам, конечно, понадобится:

use databaseName;

сделать что-нибудь.

Good удачи.

5 голосов
/ 01 июня 2011

В командной строке попробуйте:

mysql -u root -p

введите пароль при появлении запроса.

4 голосов
/ 09 июня 2011

У меня была та же самая проблема на моем ArchLinux VPS сегодня.

mysql -u root -p просто не работал, тогда как mysql -u root -pmypassword сделал.Файл устройства dev / tty (скорее всего, после обновления udev), поэтому mysql не может использовать его для интерактивного входа в систему.

В итоге я удалил / dev / tty и заново создал его с mknod /dev/tty c 5 1 и chmod 666 /dev/tty.Это решило проблему mysql и некоторые другие проблемы.

2 голосов
/ 01 июня 2011
  1. вы должны использовать команду mysql.Это клиент командной строки для mysql RDBMS, который поставляется с большинством установок mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Чтобы остановить или запустить базу данных mysql (вам редко нужно делать это вручную)'), используйте правильный скрипт инициализации с параметром stop или start, обычно /etc/init.d/mysql stop.Это, однако, зависит от вашего дистрибутива Linux.Некоторые новые дистрибутивы поддерживают стиль service mysql start.

  3. Вы входите в систему, используя mysql sql shell.

  4. Ошибка возникает, вероятно, из-за двойного параметра '-p'.Вы можете указать -ppassword или -p, и вам будет предложено ввести пароль в интерактивном режиме.Также обратите внимание, что некоторые установки могут использовать пользователя mysql (не root) в качестве администратора.Проверьте конфигурацию sqlyog, чтобы получить рабочие параметры подключения.

2 голосов
/ 01 июня 2011

Чтобы остановить или запустить mysql в большинстве систем linux, должно работать следующее:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Другие ответы выглядят хорошими для доступа к клиенту mysql из командной строки.

Удачи!

1 голос
/ 28 июля 2015

Попробуйте "sudo mysql -u root -p", пожалуйста.

1 голос
/ 27 апреля 2014

, если вы уже вошли в систему как root, просто

mysql -u root

, запросив пароль в противном случае вернется как ошибка

1 голос
/ 23 сентября 2013

если у вас все еще нет доступа к БД, 1. в вашем сообщении об ошибке не указан пароль, верно?затем сначала выполните mysqlpasswd 'username' после этого введите, а затем снова введите ему тип пароля в соответствии с запросом, а затем попробуйте снова получить доступ с помощью mysql -p, если вы root

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...