Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
сервер_баз_данных [2013/07/04 14:00] 46.231.215.230 создано |
сервер_баз_данных [2013/07/11 20:07] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== mysql ====== | ||
+ | |||
+ | |||
cd / | cd / | ||
+ | make install clean | ||
Создадим конфигурационный файл | Создадим конфигурационный файл | ||
Строка 8: | Строка 12: | ||
- | | + | '' |
- | [client] | + | [client]\\ |
- | # Пароль для подключения к БД | + | # Пароль для подключения к БД\\ |
- | # | + | # |
- | # Порт на котором висит MySQL | + | # Порт на котором висит MySQL\\ |
- | port = 3306 | + | port = 3306\\ |
- | # Сокет MySQL | + | # Сокет MySQL\\ |
- | socket | + | socket |
+ | |||
+ | |||
+ | # Опции MySQL-сервера \\ | ||
+ | [mysqld]\\ | ||
+ | # Порт\\ | ||
+ | port = 3306 \\ | ||
+ | # Адрес, который будем слушать (если вам не нужно подключаться к\\ | ||
+ | # MySQL с других машин, то оставьте здесь 127.0.0.1)\\ | ||
+ | bind-address | ||
+ | # Где лежит сокет\\ | ||
+ | socket | ||
+ | # Не использовать средства системных блокировок.\\ | ||
+ | skip-locking\\ | ||
+ | |||
+ | # Вообще не слушать порты TCP/IP. Это может применяться для большей\\ | ||
+ | # безопасности, | ||
+ | # хосте, что и mysqld. Все взаимодействия с mysqld будут осуществляться\\ | ||
+ | # через Unix-сокеты, | ||
+ | # Заметтьте, | ||
+ | # именованных каналов (используйте опцию " | ||
+ | # работу MySQL бесполезной - ибо с mysqld никто не сможет соединиться :)\\ | ||
+ | skip-networking\\ | ||
+ | # Если Вы используете InnoDB, то закомментируйте эту опцию \\ | ||
+ | skip-innodb\\ | ||
+ | # С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB\\, | ||
+ | # что позволит сэкономить большое количество памяти.\\ | ||
+ | skip-bdb\\ | ||
+ | # Hекоторое уникальное число между 2 и 2^32-1. Значения server-id должны\\ | ||
+ | # быть различными на каждом сервере, | ||
+ | # значение server-id не определено, | ||
+ | # также не определено значение master-host, | ||
+ | # Обратите внимание, | ||
+ | # сервер будет отказывать в соединении всем подчиненным серверам, | ||
+ | # подчиненный сервер - отказывать в соединении головному серверу.\\ | ||
+ | # Таким образом, | ||
+ | # случае резервного копирования с использованием двоичного журнала.\\ | ||
+ | server-id | ||
+ | # Раскомментируйте эту опцию, для включения логгирования всех запросов\\ | ||
+ | # Заметтьте - тока на время отладки! Потом надо закомментить и\\ | ||
+ | # рестартануть MySQL!\\ | ||
+ | # Файл должен существовать, | ||
+ | # touch / | ||
+ | # chown mysql:wheel / | ||
+ | # chmod 640 / | ||
+ | log = / | ||
+ | |||
+ | # Указывает местоположение двоичного журнала обновлений, | ||
+ | # в котором будут вестись записи.\\ | ||
+ | # | ||
+ | |||
+ | [mysqldump]\\ | ||
+ | # Если задан этот параметр, | ||
+ | # удаления не будет объединять индексы - в некоторых случаях это\\ | ||
+ | # может ускорить данную операцию\\ | ||
+ | quick\\ | ||
+ | |||
+ | [mysql]\\ | ||
+ | # Отключает автоматическое рехеширование. rehash следует использовать\\ | ||
+ | # для получения хеша таблиц и полей. Это обеспечивает более\\ | ||
+ | # быстрый старт mysql.\\ | ||
+ | no-auto-rehash\\ | ||
+ | # Опция, которую рекомендуется раскомментить начинающим :)\\ | ||
+ | # Разрешает выполнять только операции UPDATE и DELETE, используя ключи.\\ | ||
+ | # | ||
+ | |||
+ | [isamchk]\\ | ||
+ | key_buffer = 8M \\ | ||
+ | sort_buffer_size = 8M\\ | ||
+ | |||
+ | [myisamchk]\\ | ||
+ | key_buffer = 8M\\ | ||
+ | sort_buffer_size = 8M\\ | ||
+ | |||
+ | [mysqlhotcopy]\\ | ||
+ | # Допускать простой длительностью interactive_timeout секунд (вместо\\ | ||
+ | # wait_timeout секунд) перед закрытием данного соединения.\\ | ||
+ | interactive-timeout'' | ||
+ | |||
+ | |||
+ | Задаем пароль root для mysql. | ||
+ | |||
+ | mysqladmin -u root password ' | ||
+ | |||
+ | Создадим базу данных | ||
+ | |||
+ | create database mydb; | ||
+ | |||
+ | Проверим факт создания | ||
+ | |||
+ | show databases; | ||
+ | |||
+ | выберем ее для использования | ||
+ | |||
+ | use mydb; | ||
+ | |||
+ | Создадим пользователя | ||
+ | |||
+ | create user ' | ||
+ | |||
+ | Дадим все права на использование базы пользователю stusent. | ||
+ | |||
+ | grant all privileges on mydb.* to ' | ||
+ | |||
+ | |||
+ | Создадим в ней таблицу со следующими графами: | ||
+ | |||
+ | name -имя | ||
+ | |||
+ | surname-фамилия | ||
+ | |||
+ | phone - телефон | ||
+ | |||
+ | sex — пол | ||
+ | |||
+ | Для упрощения задачи все столбцы таблицы будут содержать символьные данные форматов | ||
+ | |||
+ | char и varchar. | ||
+ | |||
+ | create table contacts (name varchar(20), | ||
+ | |||
+ | varchar(20) , sex char(1) ); | ||
+ | |||
+ | |||
+ | Этим запросом мы создали таблицу contacts в базе данных mydb. Можем посмотреть структуру созданной таблицы: | ||
+ | |||
+ | show columns from contacts; | ||
+ | |||
+ | |||
+ | |||
+ | Теперь заполним таблицу данными. Для этого создадим запрос к базе данных, | ||
+ | |||
+ | insert into contacts Values(' | ||
+ | |||
+ | Добавим в таблицу таким же образом еще несколько записей. Теперь можно ввести запрос на | ||
+ | выборку информации из таблицы. | ||
+ | |||
+ | Выберем всю информацию из таблицы contacts: | ||
+ | |||
+ | select * from contacts; | ||
+ | |||
+ | |||
+ | По результатам выборки в моем случае можно заметить ошибку – пол в записи Svetlana | ||
+ | установлен как «m». Исправим эту ошибку, | ||
+ | |||
+ | update contacts set sex=' | ||
+ | |||
+ | Снова сделаем полную выборку и увидим, | ||
+ | таблице только мужчин: | ||
+ | |||
+ | select * from contacts where sex =' | ||
+ | |||
+ | Сделаем резервную копию БД | ||
+ | |||
+ | mysqldump -u root -p mydb > mydb.sql | ||
+ | |||
+ | удалим все таблицы | ||
+ | |||
+ | восстановим из бэкапа | ||
+ | |||
+ | mysql -u root -p mydb < mydb.sql | ||
+ | |||
+ | |||
+ | ====== PostgreSQL ====== | ||
+ | |||
+ | cd / | ||
+ | |||
+ | make install clean | ||
+ | |||
+ | |||
+ | пароль пользователю | ||
+ | |||
+ | passwd pgsql | ||
+ | |||
+ | меняем домашнюю директорию | ||
+ | |||
+ | chpass pgsql | ||
+ | |||
+ | |||
+ | директория для базы данных | ||
+ | |||
+ | # mkdir / | ||
+ | |||
+ | меняем права доступа | ||
+ | |||
+ | # chown -R pgsql:pgsql / | ||
+ | |||
+ | # chmod -R 750 / | ||
+ | |||
+ | добавляем в / | ||
+ | |||
+ | postgresql_enable=" | ||
+ | |||
+ | postgresql_data="/ | ||
+ | |||
+ | postgresql_class=" | ||
+ | |||
+ | |||
+ | su pgsql | ||
+ | $ / | ||
+ | |||
+ | psql template1 | ||
+ | |||
+ | alter user pgsql with password ' | ||
+ | |||
+ | |||
+ | create user puser; | ||
+ | |||
+ | alter user puser with password ' | ||
+ | |||
+ | alter user postgres with createdb; | ||
+ | |||
+ | create user puser; | ||
+ | |||
+ | alter user puser with password ' | ||
+ | |||
+ | alter user postgres with createdb; | ||
+ | |||
+ | |||
+ | и меняем тип авторизации в файле / | ||
+ | |||
+ | - отключаем IPv6 – комментируем строчку | ||
+ | |||
+ | #host all all ::1/128 trust | ||
+ | |||
+ | - менем trust на password в строчках | ||
+ | |||
+ | # " | ||
+ | |||
+ | local all all password | ||
+ | |||
+ | # IPv4 local connections: | ||
+ | |||
+ | host all all 127.0.0.1/ | ||
+ | |||
+ | теперь запускаем обратно postgesql | ||
+ | |||
+ | # su pgsql | ||
+ | |||
+ | $ / | ||
+ | |||
+ | начальная установка закончилась, | ||
+ | |||
+ | # su pgsql | ||
+ | |||
+ | $ psql -U puser template1 | ||
+ | |||
+ | password: | ||
+ | |||
+ | template1=# create database pdata template=template0 with encoding=' | ||
+ | |||
+ | вводим пароль для пользователя puser (он у нас ’1234′) | ||
+ | |||
+ | если необходимо востановить дамп предыдущей бд – шаблон: | ||
+ | (psql -a имя_базы имя_пользователя < дамп_базы >out 2>& | ||
- | # Опции MySQL-сервера | + | пример( где pdata.sql файл с дампом |
- | [mysqld] | + | |
- | # Порт | + | |
- | port = 3306 | + | |
- | # Адрес, который будем слушать (если вам не нужно | + | |
- | # MySQL с других | + | |
- | bind-address | + | |
- | # Где лежит сокет | + | |
- | socket | + | |
- | # Не использовать средства системных блокировок. | + | |
- | skip-locking | + | |
- | # Вообще не слушать порты TCP/IP. Это может применяться для большей | + | $ psql -a pdata puser < pdata.sql > |
- | # безопасности, | + | |
- | # хосте, что и mysqld. Все взаимодействия с mysqld будут осуществляться | + | |
- | # через Unix-сокеты, | + | |
- | # Заметтьте, | + | |
- | # именованных каналов (используйте опцию " | + | |
- | # работу MySQL бесполезной - ибо с mysqld никто не сможет соединиться :) | + | |
- | skip-networking | + | |
- | # Если Вы используете InnoDB, то закомментируйте эту опцию | + | |
- | skip-innodb | + | |
- | # С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB, | + | |
- | # что позволит сэкономить большое количество памяти. | + | |
- | skip-bdb | + | |
- | # Hекоторое уникальное число между | + | |
- | # быть различными на каждом сервере, | + | |
- | # значение server-id не определено, | + | |
- | # также не определено значение master-host, | + | |
- | # Обратите внимание, | + | |
- | # сервер будет отказывать в соединении всем подчиненным серверам, | + | |
- | # подчиненный сервер - отказывать в соединении головному серверу. | + | |
- | # Таким образом, | + | |
- | # случае резервного копирования с использованием двоичного журнала. | + | |
- | server-id | + | |
- | # Раскомментируйте эту опцию, для включения логгирования всех запросов | + | |
- | # Заметтьте - тока на время отладки! Потом надо закомментить и | + | |
- | # рестартануть MySQL! | + | |
- | # Файл должен существовать, | + | |
- | # touch / | + | |
- | # chown mysql:wheel / | + | |
- | # chmod 640 / | + | |
- | log = / | + | |
- | # Указывает | + | и смотрим ошибки |
- | # в котором будут вестись записи. | + | |
- | # | + | |
- | [mysqldump] | + | $ grep -i erro out |
- | # Если задан этот параметр, | + | |
- | # удаления не будет объединять индексы | + | |
- | # может ускорить данную операцию | + | |
- | quick | + | |
- | [mysql] | ||
- | # Отключает автоматическое рехеширование. rehash следует использовать | ||
- | # для получения хеша таблиц и полей. Это обеспечивает более | ||
- | # быстрый старт mysql. | ||
- | no-auto-rehash | ||
- | # Опция, которую рекомендуется раскомментить начинающим :) | ||
- | # Разрешает выполнять только операции UPDATE и DELETE, используя ключи. | ||
- | # | ||
- | [isamchk] | ||
- | key_buffer = 8M | ||
- | sort_buffer_size = 8M | ||
- | [myisamchk] | ||
- | key_buffer = 8M | ||
- | sort_buffer_size = 8M | ||
- | [mysqlhotcopy] | + | Часть информации |
- | # Допускать простой длительностью interactive_timeout секунд (вместо | + | |
- | # wait_timeout | + | |
- | interactive-timeout | + |