ГоловнаКаталогБлогРейтингЕ-Пошта 
 
 
Зробити домашньою у вибране  

  Хто і звідки може під'єднуватися до серверу  
Адміністратор може дозволити користувачу під'єднуватися як з певного комп'ютера, так і з різних комп'ютерів. В першому випадку, якщо точно відомо, що користувачі під'єднуватимуться тільки з своїх комп'ютерів, можна надати їм такий доступ за допомогою наступних операторів:

GRANT ALL ON sampdb.* TO boris@localhost IDENTIFIED BY 'ruby'
GRANT ALL ON sampdb.* TO [email protected] IDENTIFIED BY 'quartz'

Якщо частина username або hostname значення асcount не містить таких спеціальних символів, як '-' або '%', його необов'язково брати в лапки (наприклад, таке ім'я, як boris@localhost, буде допустимим і без лапок). Проте безпечніше використовувати лапки, і в прикладах, приведених в цій книзі, це, як правило, робиться. Але зверніть увагу, що частини username і hostname беруться в лапки по окремості 'boris'@'localhost', а не повністю, як 'boris@localhost'.

У разі потреби можна також дозволити користувачу під'єднуватися з одного комп'ютера. Іншою крайністю є дозвіл користувачу, який багато подорожує, під'єднуватися з будь-якого комп'ютера, розташованого в будь-якій точці світу. Для того, щоб дозволити користувачу max робити підключення звідусіль, необхідно скористатися оператором GRANT наступного вигляду:

GRANT ALL ON sampdb.* TO 'max'@'%' IDENTIFIED BY 'diamond'

Символ "%" замінює всі можливі значення адрес і виконує ту ж функцію, що і при порівнянні з допомогою оператора LIKE. В попередньому прикладі його можна умовно замінити фразою "будь-який комп'ютер". Установка символу "%" аналогічна простому опусканню частини, заданої комп'ютером. Це найпростіший але й найнебезпечніший спосіб створити користувача.

При необхідності можна також дозволити користувачу підключатися з обмеженого числа комп'ютерів. Так, щоб користувач mагу міг підключатися з комп'ютерів домену snake.net, достатньо скористатися специфікатором %.snake.net:

GRANT ALL ON sampdb.* TO 'mагу'@'%.snake.net' IDENTIFIED BY 'topaz'

Інший груповий символ LIKE ('_') може бути використаний в значеннях вузлів, які співпадають з будь-яким одиничним символом.

Для визначення комп'ютера можна застосовувати не тільки імена, але й IP-адреси. Ці адреси можна задавати як явно, так і за допомогою допоміжних символів. Крім того, у версії MySQL 3.23 з'явилася можливість визначати IP-адреси, задаючи маску мережі, встановлюючи число розрядів в мережевому номері:

GRANT ALL ON sampdb.* TO 'joe'@'192.168.128.3' IDENTIFIED BY 'water'
GRANT ALL ON sampdb.* TO [email protected].% IDENTIFIED BY 'snow'
GRANT ALL ON sampdb.* TO [email protected]/17 IDENTIFIED BY 'ice'

Перший оператор визначає тільки один комп'ютер, з якого може під'єднатися користувач joe. Другий визначає набір IP-адрес для підмережі класу C 192.168.128. В третьому операторі частина 192.168.128.0/17 визначає 17-розрядний мережевий номер і відповідає будь-якому комп'ютеру з адресою 192.168.128 в перших 17 розрядах ІР-адреси.

Застосування імені комп'ютера localhost в операторі GRANT дозволить під'єднатися користувачу до серверу з локального вузла, задавши значення host, таке як localhost або 127.0.0.1 (IP-адреса локального вузла). Обліковий запис localhost відповідає підключенню з вказаним іменем вузла, рівного точці ".", якщо даний сервер підтримує іменовані канали. Під UNIX підключення до localhost проводиться завдяки файлу роз'єму UNIX. Під управлінням ОС Windows NT з'єднання з "." проводяться через іменований канал, якщо такі використовуються. Всі решта з'єднань проводиться через TCP/IP, включаючи з'єднання з 127.0.0.1.

Відсутність частини host в специфікації облікового запису аналогічно використанню ' %'. Іншими словами, еквівалентними значеннями асcount в даному прикладі будуть записи max і 'max'@'%' в операторі GRANT. Це значить, що, написавши специфікацію 'boris@localhost' замість 'boris'@'localhost', з погляду MySQL ви не скоюєте ніякої помилки. Все, що відбудеться, - це те, що MySQL проінтерпретує значення 'boris@localhost' як те, що містить тільки призначену для користувача частину і додасть до неї стандартну вузлову частину, рівну '%' В результаті цього отримаємо ім'я 'boris@localhost'@'%'. Для того щоб уникнути таких колізій, беріть в лапки призначену і вузлову для користувача частини окремо.




  Логін:
  Пароль:
Книга Фріланс на західному ринку
Книга Фріланс на західному ринку
APServer | SiMan CMS | Лічильник відвідувань | Тека сайтів | Рейтинг | Форум | Download | Шаблони сторінок | Посібник Smarty | Підручник PHP | Статті/Огляди