Установка mysql имен пользователей и паролей - PullRequest
1 голос
/ 23 февраля 2009

Я недавно установил easyPHP дома, чтобы выполнить некоторые разработки на моем компьютере, работающем в качестве сервера (Windows XP).

easyPHP настраивает apache, php и mysql для работы на вашем компьютере. У меня проблемы с настройкой имен пользователей и паролей для учетных записей mysql (к сожалению, я делал это только через cPanel).

Интерфейс easyPHP позволяет вам войти в mySQL через «root» без пароля, но я бы хотел изменить это как можно скорее.

Какой совет? Спасибо.

Ответы [ 3 ]

3 голосов
/ 23 февраля 2009

Вы можете создать пользователя с помощью этой команды:

create user user@host;

пример:

create user farzad@localhost;

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

set password = password('mynewpassword');

в приведенной выше команде функция password () преобразует строковый параметр в хешированный пароль, который будет использоваться mysql для аутентификации пользователей. если вы используете эту строку:

set password = 'mynewpassword';

тогда вы ввели свою строку в качестве пароля, и она не является хеш-значением, поэтому вы не сможете войти позже. поэтому не забывайте использовать функцию password ().

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

set password for user@host = password('userpassword');

пример:

set password for farzad@localhost = password('dalkXfda23423');

после создания пользователя и обеспечения безопасности входа в систему с помощью пароля, вам необходимо установить разрешения для пользователя. используйте команду GRANT, чтобы сделать это. Общий синтаксис такой:

GRANT {РАЗРЕШЕНИЯ} НА db.table TO user @ host;

в этой команде разрешения - это список разрешений, разделенных запятыми, например SELECT, INSERT, CREATE, DROP, DELETE. вы можете использовать ВСЕ как разрешение высокого уровня, чтобы пользователь мог делать большинство вещей. db.table указывает таблицы определенной базы данных, где пользователь может выполнять действия. так что вы можете ограничить пользователя только таблицей базы данных или использовать подстановочный знак * для разрешения всех таблиц или баз данных. Пример:

GRANT ALL ON myDb.* to farzad@localhost;

если вы не создали пользователя или не задали пароль, с помощью команды grant вы можете создать пользователя, установить для него пароль и предоставить разрешения одновременно. синтаксис такой:

GRANT {PERMISSIONS} ON db.table to new_user@host IDENTIFIED BY 'userpassword';

пример:

GRANT ALL ON myDb.* to farzad@10.0.0.1 IDENTIFIED BY 'dalkXfda23423';
0 голосов
/ 23 февраля 2009

Что ж, если вы просто ищете способ изменить пароль root и у вас есть способ запуска команд SQL, вам нужна команда «SET PASSWORD»: http://dev.mysql.com/doc/refman/5.0/en/set-password.html

Чтобы создать других пользователей и настроить их с доступом к определенным базам данных, вам нужно просмотреть большинство частей руководства по управлению учетными записями: http://dev.mysql.com/doc/refman/5.0/en/account-management-sql.html

0 голосов
/ 23 февраля 2009

Следующий фрагмент кода (скопированный с http://www.debian -administration.org / article / 39 ) создает пользователя paul (@localhost) с паролем и дает ему полные права на базу данных pauldb. Все делается из командной строки MySQL:

mysql> grant CREATE,INSERT,DELETE,UPDATE,SELECT on pauldb.* to paul@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> set password for paul = password('mysecretpassword');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
mysql> exit;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...