як увійти в mysql і запитувати базу даних з терміналу Linux


104

Я використовую Linux 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' (за допомогою пароля НІ)

Будь ласка, дайте мені рішення для вищезазначеного питання. Спасибі


1
Щоразу, коли я запускаю цю команду mysql -u root -p, вона не запитує мене паролем, і я отримую повідомлення про помилку "ПОМИЛКА 1045 (28000) Доступ відмовлено користувачеві" root "@" localhost "(Використовуючи пароль NO)" Інше питання - де чи запускаю вище командного кореневого рядка в папці root чи потрібно переходити до певного каталогу. дай мені його шлях. спасибі!
Param-Ganak

Спробуйте змінити синтаксис для вашої команди, як-от так: "mysql --user = root --password" (видаліть лапки, коли ви вводите його в командному рядку). В іншому випадку здається дивним, що вам не запропоновано ввести пароль, і я підозрюю, що може трапитися щось поза межами області mysql.
baraboom

Відповіді:


180

1.- Як мені отримати запит mysql в терміналі Linux?

mysql -u root -p

У відповідь на Enter password:запитання введіть пароль root :)

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

2. Як зупинити сервер mysql з терміналу Linux?

Це залежить. Дистрибутори на основі Red Hat мають serviceкоманду:

service mysqld stop

Інші дистрибутиви вимагають безпосередньо зателефонувати скрипту init:

/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, вона не запитує мене паролем, і я отримую повідомлення про помилку "ПОМИЛКА 1045 (28000) Доступ відмовлено користувачеві" root "@" localhost "(Використовуючи пароль NO)", інше питання - де чи я запускаю командний кореневий рядок у кореневій папці чи потрібно переходити до конкретного каталогу, дай мені свій шлях дякую
Param-Ganak

Вам не доведеться переходити до певного каталогу. Ви можете запустити його з будь-якого місця. Могли б ви вставити відповідь uname -aі mysql --versionта вставити їх сюди (просто введіть їх в термінал). Ми, мабуть, могли б вам надати більше допомоги. service mysql statusтакож було б корисно.
фліндеберг

5

Я припускаю, що ви хочете використовувати клієнт mysql, що є хорошою справою і набагато ефективніше, ніж будь-які альтернативи phpMyAdmin.

Правильний спосіб увійти в систему з клієнтом командного рядка, ввівши:

mysql -u username -p

Зверніть увагу: я не ввів пароль. Це робило б так, щоб пароль був помітний на екрані, що не дуже добре в середовищі для багатьох користувачів!

Після введення цього ключа клавіші введення, mysql попросить вас пароль.

Після входу, звичайно, вам знадобляться:

use databaseName;

робити що завгодно.

Удачі.


Щоразу, коли я запускаю цю команду mysql -u root -p, вона не запитує мене паролем, і я отримую повідомлення про помилку "ПОМИЛКА 1045 (28000) Доступ відмовлено користувачеві" root "@" localhost "(Використовуючи пароль NO)" Інше питання - де чи запускаю вище командного кореневого рядка в папці root чи потрібно переходити до певного каталогу. дай мені його шлях. спасибі!
Парам-Ганак

На якому дистрибутиві Linux ви працюєте?
stefgosselin

5

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

mysql -u root -p

введіть пароль, коли буде запропоновано.


Щоразу, коли я запускаю цю команду mysql -u root -p, вона не запитує мене паролем, і я отримую повідомлення про помилку "ПОМИЛКА 1045 (28000) Доступ відмовлено користувачеві" root "@" localhost "(Використовуючи пароль NO)" Інше питання - де чи запускаю вище командного кореневого рядка в папці root чи потрібно переходити до певного каталогу. дай мені його шлях. спасибі!
Param-Ganak

Ви повинні мати змогу запускати його з домашнього каталогу, доки у вас налаштований шлях. Це повинно працювати ...
Кварконій

4

У мене була така ж точна проблема з моїм VPS ArchLinux сьогодні.

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 та деякі інші проблеми.


Це насправді працює! Тепер кожен може бачити корінний пароль в bash_history. : / Звідки ти знав, що вони / dev / tty заплуталися?
користувач3870315

2

Щоб зупинити або запустити mysql у більшості систем Linux, повинно працювати наступне:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Інші відповіді виглядають добре для доступу до клієнта mysql з командного рядка.

Удачі!


2
  1. ви повинні використовувати mysqlкоманду. Це клієнт командного рядка для mysql RDBMS і постачається з більшістю інсталяцій mysql: http://dev.mysql.com/doc/refman/5.1/uk/mysql.html

  2. Щоб зупинити або запустити базу даних mysql (вам рідко потрібно робити це "вручну"), використовуйте звичайний скрипт init з stopабо startпараметром, як правило /etc/init.d/mysql stop. Це, однак, залежить від вашого дистрибутива linux. Деякі нові дистрибутиви заохочують service mysql startстиль.

  3. Ви входите в систему, використовуючи mysqlоболонку sql.

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



2

В Ubuntu все, що мені потрібно зробити, працює sudo mysqlв терміналі GNOME, і все. Я можу почати робити бази даних або запитувати дані в таблиці тощо.


1

якщо у вас все ще немає доступу до db, 1. в ур повідомленні про помилку не встановлено пароль прав? потім спочатку введіть mysqlpasswd 'ім'я користувача' після цього введіть, а потім введіть його знову, як вимагається, пароль, а потім спробуйте знову отримати доступ з mysql -p, якщо ви root


1

якщо ви вже ввійшли як root

mysql -u root

запрошення пароля інакше повернеться як помилка


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.