Инструменты пользователя

Инструменты сайта


сервер_баз_данных

**Это старая версия документа!**

mysql

cd /usr/ports/databases/mysql55-server/

make install clean

Создадим конфигурационный файл

/usr/local/etc/my.cnf

Опции для всех клиентов MySQL
[client]
# Пароль для подключения к БД
#password = your_password
# Порт на котором висит MySQL
port = 3306
# Сокет MySQL
socket = /tmp/mysql.sock
# Опции MySQL-сервера
[mysqld]
# Порт
port = 3306
# Адрес, который будем слушать (если вам не нужно подключаться к
# MySQL с других машин, то оставьте здесь 127.0.0.1)
bind-address = 127.0.0.1
# Где лежит сокет
socket = /tmp/mysql.sock
# Не использовать средства системных блокировок.
skip-locking
# Вообще не слушать порты TCP/IP. Это может применяться для большей
# безопасности, если все процессы, соединяющиеся с MySQL висят на томже
# хосте, что и mysqld. Все взаимодействия с mysqld будут осуществляться
# через Unix-сокеты, или именованые каналы.
# Заметтьте, что использование этой опции под форточками, без включчения
# именованных каналов (используйте опцию «enable-named-pipe») сделает
# работу MySQL бесполезной - ибо с mysqld никто не сможет соединиться :)
skip-networking
# Если Вы используете InnoDB, то закомментируйте эту опцию
skip-innodb
# С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB\\, # что позволит сэкономить большое количество памяти.
skip-bdb
# Hекоторое уникальное число между 2 и 2^32-1. Значения server-id должны
# быть различными на каждом сервере, участвующем в репликации. Если
# значение server-id не определено, оно будет установлено в 1, если
# также не определено значение master-host, оно будет установлено в 2.
# Обратите внимание, что если значение server-id опущено, то головной
# сервер будет отказывать в соединении всем подчиненным серверам, а
# подчиненный сервер - отказывать в соединении головному серверу.
# Таким образом, опускать установку значения server-id можно лишь в
# случае резервного копирования с использованием двоичного журнала.
server-id = 1
# Раскомментируйте эту опцию, для включения логгирования всех запросов
# Заметтьте - тока на время отладки! Потом надо закомментить и
# рестартануть MySQL!
# Файл должен существовать, с соответствующими правами на него:
# touch /var/log/mysql.log
# chown mysql:wheel /var/log/mysql.log
# chmod 640 /var/log/mysql.log
log = /var/log/mysql.log
# Указывает местоположение двоичного журнала обновлений,
# в котором будут вестись записи.
#log-bin=mysql-bin
[mysqldump]
# Если задан этот параметр, то обработчик таблицы при выполнении
# удаления не будет объединять индексы - в некоторых случаях это
# может ускорить данную операцию
quick
[mysql]
# Отключает автоматическое рехеширование. rehash следует использовать
# для получения хеша таблиц и полей. Это обеспечивает более
# быстрый старт mysql.
no-auto-rehash
# Опция, которую рекомендуется раскомментить начинающим :)
# Разрешает выполнять только операции UPDATE и DELETE, используя ключи.
#safe-updates
[isamchk]
keybuffer = 8M
sort
buffer_size = 8M
[myisamchk]
keybuffer = 8M
sort
buffer_size = 8M
[mysqlhotcopy]
# Допускать простой длительностью interactivetimeout секунд (вместо
# wait
timeout секунд) перед закрытием данного соединения.
interactive-timeout

Задаем пароль root для mysql.

mysqladmin -u root password '123qaz'

Создадим базу данных

create database mydb;

Проверим факт создания

show databases;

выберем ее для использования

use mydb;

Создадим пользователя

create user 'student'@'localhost' identified by 'studentpass';

Дадим все права на использование базы пользователю stusent.

grant all privileges on mydb.* to 'student'@'localhost';

Создадим в ней таблицу со следующими графами:

name -имя

surname-фамилия

phone - телефон

sex — пол

Для упрощения задачи все столбцы таблицы будут содержать символьные данные форматов

char и varchar.

create table contacts (name varchar(20), surname varchar(20), phone

varchar(20) , sex char(1) );

Этим запросом мы создали таблицу contacts в базе данных mydb. Можем посмотреть структуру созданной таблицы:

show columns from contacts;

Теперь заполним таблицу данными. Для этого создадим запрос к базе данных, который вставит в нашу таблицу данные о конкретном человеке.

insert into contacts Values('Ivan','Ivanov','(495)12345678','m');

Добавим в таблицу таким же образом еще несколько записей. Теперь можно ввести запрос на выборку информации из таблицы.

Выберем всю информацию из таблицы contacts:

select * from contacts;

По результатам выборки в моем случае можно заметить ошибку – пол в записи Svetlana установлен как «m». Исправим эту ошибку, обновив запись таблицы.

update contacts set sex='f' where name='Svetlana';

Снова сделаем полную выборку и увидим, что запись изменилась. Попробуем найти в таблице только мужчин:

select * from contacts where sex ='m';

Сделаем резервную копию БД

mysqldump -u root -p mydb > mydb.sql

удалим все таблицы

восстановим из бэкапа

mysql -u root -p mydb < mydb.sql

PostgreSQL

cd /usr/ports/databases/postgresql84-server

make install clean

пароль пользователю

passwd pgsql

меняем домашнюю директорию

chpass pgsql

директория для базы данных

mkdir /data/pgsql/data

меняем права доступа

chown -R pgsql:pgsql /data/pgsql/

chmod -R 750 /data/pgsql/

добавляем в /etc/rc.conf строчки для загрузки postgresql

postgresql_enable=«YES»

postgresql_data=«/data/pgsql/data/»

postgresql_class=«postgres»

su pgsql $ /usr/local/etc/rc.d/postgresql start

psql template1

alter user pgsql with password '12345';

create user puser;

alter user puser with password '1234';

alter user postgres with createdb;

create user puser;

alter user puser with password '1234';

alter user postgres with createdb;

и меняем тип авторизации в файле /data/pgsql/data/pg_hba.conf - отключаем IPv6 – комментируем строчку

host all all ::1/128 trust

- менем trust на password в строчках

"local" is for Unix domain socket connections only

local all all password

IPv4 local connections:

host all all 127.0.0.1/32 password

теперь запускаем обратно postgesql

su pgsql

$ /usr/local/etc/rc.d/postgresql start

начальная установка закончилась, теперь если необходимо – можно создать базу данных для пользователя puser – pdata

su pgsql

$ psql -U puser template1 password: template1=# create database pdata template=template0 with encoding='KOI8'; вводим пароль для пользователя puser (он у нас ’1234′)

если необходимо востановить дамп предыдущей бд – шаблон: (psql -a имябазы имяпользователя < дамп_базы >out 2>&1)

пример( где pdata.sql файл с дампом бд): $ psql -a pdata puser < pdata.sql >out 2>&1 и смотрим ошибки $ grep -i erro out

сервер_баз_данных.1373558770.txt.gz · Последнее изменение: 2013/07/11 20:06 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux