| Просмотр списка пользователей |
SELECT user, host FROM mysql.user; |
SELECT usename FROM pg_user; или \du |
SHOW USERS; |
| Создание пользователя |
CREATE USER user@host IDENTIFIED BY 'password'; |
CREATE USER user WITH PASSWORD 'password'; |
CREATE USER user IDENTIFIED BY 'password'; |
| Смена пароля пользователя |
GRANT USAGE ON *.* TO user@host IDENTIFIED BY 'password'; |
ALTER USER user WITH PASSWORD 'password'; или \password user |
ALTER USER user IDENTIFIED BY 'password'; |
| Просмотр прав пользователя |
SHOW GRANTS FOR user@host; |
\du user и \dp |
SHOW GRANTS FOR user; |
| Предоставление прав администратора |
GRANT ALL PRIVILEGES ON *.* TO admin@host WITH GRANT OPTION; |
|
GRANT ALL ON *.* TO admin WITH GRANT OPTION; |
| Предоставление права репликации |
GRANT REPLICATION CLIENT ON *.* TO slave@host; |
GRANT REPLICATION TO user; |
|
| Предоставление прав резервного копирования |
GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON db.* TO operator@host; |
|
|
| Предоставление полного доступа к базе данных |
GRANT ALL ON db.* TO owner@host; |
GRANT ALL PRIVILEGES ON DATABASE db TO owner; |
GRANT ALL ON db.* TO owner; |
| Предоставление права только чтения из базы данных |
GRANT SELECT ON db.* TO reader@host; |
GRANT SELECT ON DATABASE db TO user; |
GRANT SELECT ON db.* TO reader; |
| Предоставление права только на подключение к базе данных |
GRANT USAGE ON db.* TO user@host; |
GRANT CONNECT ON DATABASE db TO user; |
|
| Отбор прав доступа |
REVOKE privileges ON db.table FROM user@host; |
REVOKE privileges ON DATABASE db FROM user; |
REVOKE privileges ON db.table FROM user; |
| Удаление пользователя |
DROP USER user@host; |
DROP USER user; |
DROP USER user; |
| Применение изменений пользователей и их прав |
FLUSH PRIVILEGES; |
- |
- |
| Применение изменений узлов и прав пользователей |
FLUSH HOSTS; |
- |
- |
| Установка локального IP-адреса пользователя/доступ через Unix-сокет |
- |
Отредактировать файл /etc/postgresql/9.6/main/pg_hba.conf, добавить строчку вида local "db" "user" md5 |
ALTER USER user HOST LOCAL; |
| Установка IP-адреса пользователя |
- |
Отредактировать файл /etc/postgresql/9.6/main/pg_hba.conf, добавить строчку вида host "db" "user" host/32 md5 |
ALTER USER user HOST IP '192.168.1.10'; |
| Разрешение пользователю подключаться с любого IP-адреса |
- |
Отредактировать файл /etc/postgresql/9.6/main/pg_hba.conf, добавить строчку вида host "db" "user" 0.0.0.0/0 md5 |
ALTER USER user HOST ANY; |
| Назначение пользователю профиля по умолчанию |
- |
- |
ALTER USER user SETTINGS PROFILE default; |
| Просмотр списка баз данных |
SHOW DATABASES; |
\l |
SHOW DATABASES; |
| Создание базы данных |
CREATE DATABASE db; |
CREATE DATABASE database OWNER owner; |
CREATE DATABASE db; |
| Переименование базы данных |
mysqldump db > bak.sql && mysql new_db < bak.sql или |
ALTER DATABASE old_db RENAME TO new_db; |
RENAME DATABASE old_db TO new_db; |
| |
mysql old -BNe 'SHOW TABLES;' ! awk '{ print "ALTER TABLEold." $0 " RENAME TOnew." $0 ";"; }' ! mysql |
|
|
| Удаление базы данных |
DROP DATABASE db; |
DROP DATABASE db; |
DROP DATABASE db; |
| Выбор другой базы данных |
USE db; |
\c db |
USE db; |
| Просмотр списка таблиц в базе данных |
SHOW TABLES; |
\dt |
SHOW TABLES; |
| Переименование таблицы |
RENAME TABLE old_table TO new_table; или RENAME TABLE old_table TO new_table; |
ALTER TABLE old_table RENAME TO new_table; |
RENAME TABLE old_table TO new_table; |
| Создание аналогичной таблицы |
CREATE TABLE new_table LIKE old_table; |
CREATE TABLE new_table (LIKE old_table INCLUDING ALL); |
CREATE TABLE new_table LIKE old_table; |
| Сжатие таблицы (с блокировкой, обновлением статистики, сообщениями) |
ALTER TABLE table ENGINE=InnoDB; |
VACUUM [FULL ANALYZE VERBOSE] table, ...; |
OPTIMIZE TABLE table FINAL DEDUPLICATE; |
| Добавление индекса |
ALTER TABLE table ADD INDEX index(column1, column2, ...); |
CREATE INDEX index ON TABLE table(column1, column2, ...); |
ALTER TABLE [db.]table [ON CLUSTER cluster] ADD INDEX index expression TYPE type GRANULARITY 1; |
| Пересчёт индекса для уже имеющихся данных |
- |
- |
ALTER TABLE [db.]table [ON CLUSTER cluster] MATERIALIZE INDEX index; |
| Удаление индекса |
ALTER TABLE table DROP INDEX index; |
DROP INDEX index; |
ALTER TABLE [db.]table [ON CLUSTER cluster] DROP INDEX index; |
| Резервное копирование всех баз данных |
mysqldump > dbs.sql |
pg_dumpall > dbs.sql |
- |
| Восстановление всех баз данных из резервной копии |
mysql < dbs.sql |
psql < dbs.sql |
- |
| Резервное копирование базы данных |
mysqldump db > db.sql |
pg_dump -d db > db.sql |
BACKUP DATABASE db TO Disk('backups', 'db.zip'); |
| Восстановление базы данных из резервной копии |
mysql db < db.sql |
psql -d db < db.sql |
RESTORE DATABASE db AS db_new TO Disk('backups', 'db.zip'); |
| Резервное копирование таблицы |
mysqldump db table > db_table.sql |
pg_dump -d db -t table > db_table.sql |
BACKUP TABLE db.table TO Disk('backups', 'table.zip'); |
| Восстановление таблицы из резервной копии |
mysql db < table.sql |
psql -d db < db_table.sql |
RESTORE TABLE db.table AS db_new.table_new FROM Disk('backups', 'table.zip'); |