четверг, 24 марта 2011 г.

MySQL. chapter 1


Подключение к БД:
mysql -h localhost -u root -p mysql
-h - хост БД, по умолчанию - localhost
localhost
-u - пользователь БД
-p - вход с паролем
mysql - имя БД

Создание БД:
mysql>CREATE DATABASE db_name;
db_name - имя БД, которую надо создать

Создание пользователя БД:
mysql>CREATE USER user@localhost IDENTIFIED BY 'password';
user@localhost:
user - имя пользователя
localhost - откуда user сможет подключиться к БД
'password' - пароль
('user'@'%' - поключение с любого адреса)

Удаление пользователя БД:
mysql>DROP USER user@localhost;


Права (GRANT и REVOKE):

Grant-ы.(добавление прав)
mysql>GRANT ALL PRIVILEGES ON db_name.db_table TO user@localhost;
db_name.db.table:
db_name - имя БД
db_table - имя таблицы в БД (* - все таблицы указаной БД)

Revoke.(удаление прав)
mysql>REVOKE ALL PRIVILEGES ON db_name.db_table TO user@localhost;

Создание пользователя + GRANT:
mysql>GRANT ALL PRIVILEGES ON db_name.db_table TO user@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;

Применение изменений прав:
mysql>FLUSH PRIVILEGES;

Просмотр доступных БД
mysql>SHOW DATABASES;

Переход в БД:
mysql>USE db_name;

Просмотр таблиц БД
mysql>SHOW TABLES; (таблицы БД , в которой находишься)
mysql>SHOW TABLES FROM db_name; (для любой БД)

Просмотр дескрипшинов полей таблицы:
mysql>DESC db_table;

Просмотр выбраный полей(по дескрипшинам) в таблице(ах) БД:
mysql>SELECT id,name,pass FROM db_name.db_table;
id.name.pass - поля
db_name - для любой БД

Сменя пароля пользователя
mysql> UPDATE user SET password=PASSWORD("NEW_PASSWORD") where User='USER_NAME';
mysql> FLUSH PRIVILEGES;
или
mysql> SET PASSWORD FOR user@host = PASSWORD('newpassword');