2010-10-02 2 views
19

Я установил mysql на сервер ubuntu и не указал пароль. Когда я делаюmysql запрашивает пароль, хотя мой пароль пуст

mysql -u root -p 

он запрашивает пароль и без ввода каких-либо данных. Я просто нажал кнопку ввода, и он работает.

Теперь мне нужно выполнить некоторую операцию в базе данных с помощью задания cron. Мое задание cron не работает, потому что mysql запрашивает пароль. Я пробовал делать

mysql -u root -p'' my_database 

но это тоже не сработало.

Любое предложение?

ответ

17

Не просите mysql запросить пароль «mysql -u myuser». Я предлагаю вам создать учетную запись только с необходимыми привилегиями для этого. Также ограничьте его доступ к localhost. Введите пароль для root.

+1

+1, Это технически ответ, который пользователь ищет. Чтобы не запрашивать пароль MySQL, не устанавливайте '-p'. – wuputah

+0

wuputah вы правы. Не просите меня устанавливать пароль, когда я не хочу устанавливать пароль. –

+0

Я предлагаю вам использовать хорошую защиту. Запуск root без пароля - высокий риск. По крайней мере ограничить доступ к локальной системе. Лучшей практикой для учетных записей без пароля является наименьший доступ. – BillThor

0

Почему бы вам не указать пароль для root? По соображениям безопасности ваш скрипт будет работать.

+0

Согласен, просто установите пароль root, а затем указанный код должен работать нормально. – Cole

+0

Еще лучше, OP должен создать пользователя без полномочий root и предоставить доступ новому пользователю к рассматриваемой БД. – luckytaxi

0

У «root» учетной записи Mysql должен быть пароль; в противном случае любой, у кого есть учетная запись на вашем компьютере, имеет полный доступ к базе данных.

  1. Set a password (например, с помощью SET PASSWORD)
  2. Добавьте пароль ~/.my.cnf

Если вы хотите более вменяемые параметры аутентификации, я рекомендую Postgres.

60

Go, как этот mysql -u root --password="" dbname

+9

Это правильный ответ на вопрос. Да, автор вопроса, и я, и, вероятно, кто-то, кто смотрит эту тему, знает, что у вас не должно быть пустых паролей, но вопрос был в том, как это сделать, если мы действительно хотим иметь пустые пароли, и это работает отлично. ПРИМЕЧАНИЕ. MYSQL версия 5.5.25a – PSIXO

12

Я установил MySQL на Ubuntu Server и не указали пароль. Когда я

mysql -u root -p 

-p выводит запрос пароля. Если у вас нет пароля, вы не хотите этого делать.

Просто написать:

mysql -u root 

За любовь бога, получить пароль на этот счет!

1

Проверьте MySQL-документацию о том, как сбросить пароль, так как я не нашел способа ввести пароль. Вы можете использовать следующее: http://dev.mysql.com/doc/mysql-windows-excerpt/5.0/en/resetting-permissions-windows.html который гласит, что вы должны создать файл со следующим запросом:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; 
FLUSH PRIVILEGES; 

А затем запустить туздА службу с параметром --init-файл (смотрите документацию для получения дополнительной информации об этом). Это должно привести к сбросу пароля root.

+0

MySQL не различает «без пароля» и «пустой пароль». –

Смежные вопросы