Як підключити та створити базу даних у MySQL?


17

Я хочу встановити MySQL і створити на ньому базу даних, використовуючи наступний код:

sudo apt-get install mysql-server
mysqladmin -h localhost -u {username} -p create lrs

Після другого рядка я отримую таке повідомлення:

    Enter password:
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user '{username}'@'localhost' (using password: YES)'

В чому проблема?


1
Якщо ви справді використовували ці 2 команди, де ви надавали ПРИВІЛІГИ для {ім'я користувача} (якщо не адміністратор / root), щоб мати доступ до бази даних?
Rinzwind

Відповіді:


26

Після встановлення MySQL вам потрібно встановити пароль root mysql . Робити так:

  1. Введіть наступну команду в термінал:

    mysql -u root

  2. Тепер він повинен відкрити консоль mysql . І введіть наступний рядок:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

Для виходу з консолі mysql введітьexit .

Тепер вам слід створити базу даних з користувачем root . Робити так:

  1. Відкрити mysql з терміналу:

    mysql -u root -p

  2. Введіть створений раніше пароль.

  3. Введіть наступний рядок:

    CREATE DATABASE yourdatabasename;

Якщо ви введете, SHOW DATABASES;ви повинні побачити це у списку. Якщо так, у вас є база даних, готова до використання!


mysql -u rootдарує меніERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Ніколас Рауль

Ця помилка означає, що у вас вже є rootкористувач і у нього є пароль. Якщо ви забули rootпароль, прочитайте документацію на MySQL .
Лусіо

1

Вам потрібно підключитися до MySQL за допомогою кореневого користувача та пов'язаного з ним пароля. Якщо вам потрібно встановити їх, скористайтеся такою командою:sudo mysqladmin -u root -h localhost password 'mypassword'

Звідти ви можете налаштувати додаткові облікові записи, дотримуючись цього документа: Як створити нового користувача та надати дозволи в MySQL


1
Я скопіював sudo mysqladmin -u root -h localhost password 'mypassword'і вставив його в свій термінал, і я отримав повідомлення Access denied for user 'root'@'localhost' (using password: NO).
користувач543489

@Bert Цей код не працює. password 'mypassword'Неправильно, це повинно бути-password 'mypassword'
Лусіо

чи слід щось замінити на "мій пароль"?
користувач543489

Я стратив sudo mysqladmin -u root -h localhost -password 'mypassword', але отримую Access denied for user 'root'@'localhost' (using password: YES).
користувач543489

@ user543489 Що станеться, якщо ввести mysql -u root?
Луціо

1

Це дивно, оскільки з 12.04 (здогадуючись, що ви використовуєте Kubuntu 12.04), MySQL був за замовчуванням. Схоже, вам не вистачає декількох кроків між ними, тому давайте розглянемо це:

Спочатку, як ви згадали, давайте зробимо встановлення,

sudo apt-get install mysql-server

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

sudo netstat -tap | grep mysql

Після запуску цього ви повинні побачити цю відповідь,

tcp        0      0 localhost:mysql         *:*                LISTEN      2556/mysqld

Якщо це не працює правильно, запустіть цю команду перезапуску,

sudo service mysql restart

Тепер налаштувати сервер.

Перейдемо /etc/mysql/my.cnfдо налаштування основних параметрів. Це включає в себе файл журналу, номер порту і т.д. Наприклад, щоб налаштувати MySQL для прослуховування з'єднань з вузлами мережі, змініть прив'язувати-адреса директиву IP - адреса сервера:

bind-address            = 192.168.0.5

Після цього перезапустіть демон MySQL,

sudo service mysql restart

Якщо ви хочете змінити кореневий пароль MySQL, запустіть це:

sudo dpkg-reconfigure mysql-server-5.5

Демон буде зупинено, і вам буде запропоновано новий пароль.

Після того, як ви закінчите, ви повинні налаштуватись, і кілька пошукових запитів Google навчать вас створювати базу даних

Джерело: Посібник з сервера Ubuntu


0

Виконайте цю команду:

sudo dpkg-reconfigure mysql-server-5.5

(5.5 - номер версії, адаптуйте, якщо у вас інша версія)

Це дозволить вам встановити свій кореневий пароль MySQL, який ви потім можете використовувати mysqladminта використовувати mysqlкоманди.


-1

Після встановлення MySQL вам потрібно встановити пароль root mysql. Робити так:

Enter the next command in a terminal:

mysql -u root -p

Enter Password: (Enter your password here).

Це не сприяє тому, що вже не було сказано у прийнятій відповіді.
guntbert

-1

Я знаю, що це 3 роки, але у мене просто була ця проблема, і я хотів опублікувати свою відповідь у випадку, якщо хтось зробить той самий пошук, що і я.

mysqladmin: connect to server at 'localhost' failed

Це вказує на те, що ваш користувач не має дозволу на підключення до самої бази даних, перш ніж він навіть перейде до входу; не користувач бази даних, а фактичний користувач Linux. Запустити все як супер користувач: sudo mysql -u root -p

Тільки root (користувач Linux або користувач із правами sudo) може увійти до mysql як root (користувач бази даних). Мені не вдалося знайти ніде документальне підтвердження цього, але експерименти показали, що це було так. Ви можете створити нового користувача з усіма тими ж правами, що й кореневого користувача, і це не буде обмежено.

sudo mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Тепер "newuser" (або будь-яке ім'я, яке ви вибрали) можна ввійти в систему як без судо, і ви можете використовувати його для всіх адміністративних потреб вашої бази даних.


1
Використання слова probablyу відповіді тут нахмуриться.
WinEunuuchs2Unix

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