# psql -d template1 -U pgsql
> alter user pgsql with password 'pgsql_password'; # Используйте username вместо "pgsql"
Команды createuser
, dropuser
, createdb
и dropdb
, это эквиваленты SQL команд.
# createuser -U pgsql -P bob # Создание пользователя bob,-P для ввода пароля. # createdb -U pgsql -O bob bobdb # Создать базу данных bobdb, владелец bob # dropdb bobdb # Удалить базу bobdb # dropuser bob # Удалить пользователя bobОсновной механизм авторизации в базе, настраивается в файле pg_hba.conf.
Файл $PGSQL_DATA_D/postgresql.conf
определяет слушающие адреса. Обычно listen_addresses = '*'
для Postgres 8.x.
Файл $PGSQL_DATA_D/pg_hba.conf
назначает уровни доступа. Пример:
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD host bobdb bob 212.117.81.42 255.255.255.255 password host all all 0.0.0.0/0 password
Резервное копирование и восстановление делается пользователем pgsql или postgres.
Резервное копирование и восстановление одной базы данных, пример:
# pg_dump --clean dbname > dbname_sql.dump # psql dbname < dbname_sql.dump
Резервное копирование и восстановление всех баз(включая пользователей):
# pg_dumpall --clean > full.dump # psql -f full.dump postgres
# /etc/init.d/mysql stop
or
# killall mysqld
# mysqld --skip-grant-tables
# mysqladmin -u root password 'newpasswd'
# /etc/init.d/mysql start
# mysql -u root mysql mysql> UPDATE USER SET PASSWORD=PASSWORD("newpassword") where user='root'; mysql> FLUSH PRIVILEGES; # Используйте имя "пользователя" вместо "root" mysql> quit
# mysql -u root mysql mysql> CREATE DATABASE bobdb; Cоздать базу данных bobdb mysql> GRANT ALL ON *.* TO 'bob'@'%' IDENTIFIED BY 'pwd'; # Используйте localhost вместо % # Разрешен сетевой доступ mysql> DROP DATABASE bobdb; # Удалмть базу данных. mysql> DROP USER bob; # Удалить пользователя. mysql> DELETE FROM mysql.user WHERE user='bob and host='hostname'; # Альтернативы mysql> FLUSH PRIVILEGES;
/etc/my.cnf
прописан адрес для слушающего сокета, как правило достаточно раскомментировать строку bind-address =
.
# mysql -u root mysql mysql> GRANT ALL ON bobdb.* TO bob@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'PASSWORD'; mysql> REVOKE GRANT OPTION ON foo.* FROM bar@'xxx.xxx.xxx.xxx'; mysql> FLUSH PRIVILEGES;
Работа с одной базой данных:
# mysqldump -u root -psecret --add-drop-database dbname > dbname_sql.dump # mysql -u root -psecret -D dbname < dbname_sql.dumpРабота со всеми базами данных:
# mysqldump -u root -psecret --add-drop-database --all-databases > full.dump # mysql -u root -psecret < full.dumpВ данном случае "secret", пароль пользователя root для mysql, после опции -p, пробел не ставится. Если опция -p будет использована без следеющего за ней пароля, он будет запрошен интерактивно.
# sqlite database.db .dump > dump.sql # Дамп # sqlite database.db < dump.sql # Восстановление
sqlite database_v2.db .dump | sqlite3 database_v3.db