как войти в MySQL и запросить базу данных из терминала Linux


104

Я использую 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' (с использованием пароля NO)

пожалуйста, помогите мне следовать

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

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

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


1
Всякий раз, когда я запускаю эту команду mysql -u root -p, она не запрашивает пароль, и я получаю сообщение об ошибке «ERROR 1045 (28000) Access denied for user 'root' @ 'localhost' (Using password NO)» Другой вопрос: где запустить командную строку в корневой папке или мне нужно перейти в определенный каталог. дай мне свой путь. Спасибо!
Param-Ganak

Попробуйте изменить синтаксис вашей команды, например: «mysql --user = root --password» (удалите кавычки, когда вы вводите его в командной строке). В противном случае кажется довольно странным, что вы не получаете запрос на ввод пароля, и я подозреваю, что может быть что-то еще, выходящее за рамки mysql.
baraboom 01

Ответы:


180

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.


10

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

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

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


Всякий раз, когда я запускаю эту команду mysql -u root -p, она не спрашивает пароль, и я получаю сообщение об ошибке «ERROR 1045 (28000) Access denied for user 'root' @ 'localhost' (Using password NO)», другой вопрос: где запустить командную строку в корневой папке или мне нужно перейти в конкретный каталог, дай мне его путь, спасибо
Param-Ganak

Вам не нужно переходить в конкретный каталог. Вы можете запустить его откуда угодно. Не могли бы вы вставить ответ в uname -aи mysql --versionи вставить их сюда (просто введите их в терминал). Тогда мы, вероятно, могли бы вам больше помочь. service mysql statusтакже было бы полезно.
flindeberg 01

5

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

Правильный способ входа в систему с помощью клиента командной строки - это ввести:

mysql -u username -p

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

После нажатия этой клавиши ввода, mysql попросит вас ввести пароль.

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

use databaseName;

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

Удачи.


Всякий раз, когда я запускаю эту команду mysql -u root -p, она не запрашивает пароль, и я получаю сообщение об ошибке «ERROR 1045 (28000) Access denied for user 'root' @ 'localhost' (Using password NO)» Другой вопрос: где запустить командную строку в корневой папке или мне нужно перейти в определенный каталог. дай мне свой путь. Спасибо!
Param-Ganak

На каком дистрибутиве Linux вы работаете?
stefgosselin 01

5

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

mysql -u root -p

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


Всякий раз, когда я запускаю эту команду mysql -u root -p, она не запрашивает пароль, и я получаю сообщение об ошибке «ERROR 1045 (28000) Access denied for user 'root' @ 'localhost' (Using password NO)» Другой вопрос: где запустить командную строку в корневой папке или мне нужно перейти в определенный каталог. дай мне свой путь. Спасибо!
Param-Ganak

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

4

Сегодня у меня была такая же проблема на моем 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 и некоторые другие проблемы.


Это действительно работает! Теперь все могут видеть пароль root в bash_history. : / Как вы узнали, что / dev / tty испортились?
user3870315

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

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

  3. Вы входите в систему с помощью mysqlоболочки sql.

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



2

В Ubuntu все, что мне нужно сделать, это sudo mysqlзапустить в терминале GNOME, и все. Я могу начать создавать базы данных или запрашивать данные в таблице и т. Д.


1

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

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

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

Удачи!


1

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


1

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

mysql -u root

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.