Я хочу установить 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)'
Что такое проблема?
Запустите эту команду:
sudo dpkg-reconfigure mysql-server-5.5
(5.5 - это номер версии, адаптируйтесь, если у вас другая версия)
Это позволит вам установить свой корневой пароль MySQL, чтобы вы затем можно использовать с командами mysqladmin
и mysql
.
Это странно, потому что с 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
Если это не работает правильно, запустите эту команду перезапуска,
[ 113]Теперь нужно настроить сервер.
Перейдем к /etc/mysql/my.cnf
для настройки основных настроек. Это включает в себя файл журнала, номер порта и т. Д. Например, чтобы настроить MySQL для прослушивания соединений от сетевых хостов, измените директиву bind-address на IP-адрес сервера:
bind-address = 192.168.0.5
[ 1117] После этого перезапустите демон MySQL,
sudo service mysql restart
Если вы хотите изменить корневой пароль MySQL, запустите:
sudo dpkg-reconfigure mysql-server-5.5
Демон будет остановлен, и вы будет предложено ввести новый пароль.
Как только вы закончите, вы должны быть настроены, и несколько поисков в Google научат вас создавать базу данных
Источник: Руководство по Ubuntu Server
Необходимо соединиться с MySQL с помощью пользователя root и связанного пароля. Если необходимо установить их, используйте следующую команду: sudo mysqladmin -u root -h localhost password 'mypassword'
Оттуда, можно настроить дополнительные учетные записи следующим этот документ: Как Создать Нового Пользователя и Дать Разрешения в MySQL
После того, как вы установили MySQL, вам нужно установить пароль root для mysql . Для этого:
Введите следующую команду в терминале:
mysql -u root
Теперь он должен открыть MySQL консоль. И введите следующую строку:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
Для выхода из консоли mysql введите exit
.
Теперь вам нужно создать базу данных с пользователем root . Для этого:
Откройте mysql с терминала:
mysql -u root -p
Введите пароль, созданный ранее.
Введите следующую строку:
CREATE DATABASE yourdatabasename;
Если вы введете SHOW DATABASES;
, вы должны увидеть его в списке. Если это так, у вас есть готовая база данных!
После того, как вы установили MySQL, вам нужно установить пароль root для mysql. Для этого:
Enter the next command in a terminal:
mysql -u root -p
Enter Password: (Enter your password here).
Я знаю, что это 3 года, но у меня тоже была эта проблема, и я хотел опубликовать свой ответ на тот случай, если кто-нибудь другой сделает такой же поиск, как и я.
mysqladmin: connect to server at 'localhost' failed
Это указывает на то, что у вашего пользователя нет разрешения на подключение к самой базе данных, прежде чем он даже сможет войти в систему; не пользователь базы данных, ваш реальный пользователь Linux. Запустите все как суперпользователь: sudo mysql -u root -p
Только root (пользователь linux или пользователь с привилегиями sudo) может войти в mysql как root (пользователь базы данных). Я нигде не смог найти документальное подтверждение этого, но эксперименты доказали, что это так. Вы можете создать нового пользователя с теми же правами, что и у пользователя 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» (или любое другое имя по вашему выбору) может быть зарегистрировано без необходимости использования sudo, и вы можете использовать его для всех административных нужд вашей базы данных.