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

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


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

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
сервер_баз_данных [2013/07/04 14:00]
46.231.215.230 создано
сервер_баз_данных [2013/07/11 20:07] (текущий)
Строка 1: Строка 1:
 +====== mysql ======
 +
 +
 cd /usr/ports/databases/mysql55-server/ cd /usr/ports/databases/mysql55-server/
  
 +make install clean 
  
 Создадим конфигурационный файл  Создадим конфигурационный файл 
Строка 8: Строка 12:
  
  
- Опции для всех клиентов MySQL + ''Опции для всех клиентов MySQL\\ 
-[client] +[client]\\ 
-# Пароль для подключения к БД +# Пароль для подключения к БД\\ 
-#password       = your_password +#password       = your_password\\ 
-# Порт на котором висит MySQL +# Порт на котором висит MySQL\\ 
-port            = 3306 +port            = 3306\\ 
-# Сокет MySQL +# Сокет MySQL\\ 
-socket          = /tmp/mysql.sock+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]\\ 
 +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 '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)
  
-# Опции MySQL-сервера +пример( где pdata.sql файл с дампом бд):
-[mysqld] +
-# Порт +
-port            = 3306 +
-# Адрес, который будем слушать (если вам не нужно подключаться к +
-# MySQL с других машин, то оставьте здесь 127.0.0.1) +
-bind-address    = 127.0.0.1 +
-# Где лежит сокет +
-socket          = /tmp/mysql.sock +
-# Не использовать средства системных блокировок. +
-skip-locking+
  
-# Вообще не слушать порты TCP/IP. Это может применяться для большей +$ psql -a pdata puser < pdata.sql >out 2>&1
-# безопасности, если все процессы, соединяющиеся с MySQL висят на томже +
-# хосте, что и mysqld. Все взаимодействия с mysqld будут осуществляться +
-# через Unix-сокеты, или именованые каналы. +
-# Заметтьте, что использование этой опции под форточками, без включчения +
-# именованных каналов (используйте опцию "enable-named-pipe") сделает +
-# работу MySQL бесполезной - ибо с mysqld никто не сможет соединиться :) +
-skip-networking +
-# Если Вы используете InnoDB, то закомментируйте эту опцию +
-skip-innodb +
-# С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB, +
-# что позволит сэкономить большое количество памяти. +
-skip-bdb +
-# Hекоторое уникальное число между и 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] +$ grep -i erro out
-# Если задан этот параметр, то обработчик таблицы при выполнении +
-# удаления не будет объединять индексы в некоторых случаях это +
-# может ускорить данную операцию +
-quick+
  
-[mysql] 
-# Отключает автоматическое рехеширование. rehash следует использовать 
-# для получения хеша таблиц и полей. Это обеспечивает более 
-# быстрый старт mysql. 
-no-auto-rehash 
-# Опция, которую рекомендуется раскомментить начинающим :) 
-# Разрешает выполнять только операции UPDATE и DELETE, используя ключи. 
-#safe-updates 
  
-[isamchk] 
-key_buffer = 8M 
-sort_buffer_size = 8M 
  
-[myisamchk] 
-key_buffer = 8M 
-sort_buffer_size = 8M 
  
-[mysqlhotcopy] +Часть информации с сайта http://www.lissyara.su/
-# Допускать простой длительностью interactive_timeout секунд (вместо +
-# wait_timeout секунд) перед закрытием данного соединения. +
-interactive-timeout+
сервер_баз_данных.1372946432.txt.gz · Последнее изменение: 2013/07/04 18:00 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux