КакЭто: Перенос MySQL баз и пользователей на новый сервер

Иногда, бывает так, что железо устаривает, машина начинает тормозить, доступ к ней усложняется, а апгрейд просто не пройдёт, в такой ситуации может спасти только новый сервер.

Полный перенос данных Mysql с одного сервера на другой А новый сервер означает, что нужен будет перенос всех важных данных со старого сервера. MySQL данные относятся именно к таким. Перенести бекап баз не составит большого труда, а вот если нужно перенести всех пользователей и их привилегии – задача становится труднее. И эту задачу мы постараемся сегодня решить.
Итак, в этой статье мы полностью перенесём все MySQL данные со старого сервера на новый.
Основная функция системы привилегий MySQL (которые хранятся в таблице mysql.user) это авторизация пользователей, которые присоединяются с выделенного им хоста и ассоциация этих пользователей с привилегиями на базы данных (SELECT, INSERT, UPDATE, и DELETE).

Что нам нужно сделать

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

  +——-+

  | db1 | ————————-> -+

  +——-+

   Старый Mysql сервер

   (192.168.0.8)

  +——+

  | db2 | —————> ——-+—->   Интернет (Роутер провайдера)

  +——+

   Новый Mysql сервер

   (192.168.0.10)

  +——+

  | Веб1| ————————-> -+

  +——+

    Apache Веб сервер

    (192.168.0.12)

Как видно из схемы, нам нужно перенести все MySQL данные, включая пользователей и их привилегии, с сервера db1 на сервер db2.

Установим MySQL на db2

Конечно, пути установки MySQL зависят от используемого дистрибутива. Я люблю Gentoo Linux:

1
2
3

#Вы должны быть «под» root’ом

emerge -av mysql

rc-update add mysql default

Сразу ставим пароль для root’а

1

mysqladmin -u root password NEWPASSWORD

Ну, если Вы вдруг используете одну из систем семейства Ubuntu, то Ваш листинг установки будет следующий:

1
2
3
4

sudo apt-get install mysql-server mysql-client

sudo service mysql start

# Сразу ставим пароль для root’а

mysqladmin -u root password NEWPASSWORD

Тоже ничего сложного.

Получаем текущие данные MySQL: Пользователей, Хосты и привилегии

На сервере db1 выполняем следующую команду:

1

mysql -u root -B -N -p -e «SELECT user, host FROM user» mysql

Вывод этой команды будет примерно таким:

1
2
3
4
5
6
7

bloger        192.168.0.5

Kicker     192.168.0.5

Katya     192.168.0.7

Pavel     192.168.0.12

root             localhost

            db1.logi.cc

root            db1.logi.cc

Первая колонка – это имена пользователей, вторая хосты. Теперь, для того чтобы узнать привилегии пользователей используйте следующую команду:

1

mysql -u root -p -B -N -e»SHOW GRANTS FOR ‘userName’@hostName»

Вместо userName подставляем имя пользователя, а вместо hostName соответственно его хост. Например:

1

mysql -u root -p -B -N -e»SHOW GRANTS FOR ‘Pavel’@192.168.0.12″

Вывод команды будет такой:

1
2

GRANT USAGE ON *.* TO ‘Pavel’@192.168.0.12’ IDENTIFIED BY PASSWORD ‘какойнитьпарольвMd5’

GRANT ALL PRIVILEGES ON `sitedb`.* TO ‘Pavel’@192.168.0.12’

Где,

  • Pavel – Имя пользователя MySQL
  • 192.168.0.12 – IP адрес хоста, который имеет доступ к MySQL серверу
  • какойнитьпарольвMd5 – Пароль пользователя в MD5 шифровании
  • sitedb – Имя базы данных, к которой пользователь имеет полные привилегии

Теперь нам известна вся нужная информация, и мы можем начать перенос с сервера db1 на сервер db2. Делать мы это будем при помощи SSH:

1
2
3
4

ssh user@db2 mysql -u root -p’password’ -e «create database IF NOT EXISTS sitedb;»

ssh user@db2 mysql -u root -p’password’ -e «GRANT USAGE ON *.* TO ‘Pavel’@’192.168.0.12’ IDENTIFIED BY PASSWORD ‘какойнитьпарольвMd5’;»

ssh user@db2 mysql -u root -p’password’ -e «GRANT ALL PRIVILEGES ON `sitedb`.* TO ‘Pavel’@’192.168.0.12’;»

mysqldump -u root -p’password’ -h ‘localhost’ sitedb| ssh user@db2 mysql -u root -p’password’ sitedb

Теперь можно протестировать проделанную работу с машины Веб1:

1

mysql -u Pavel -h 192.168.0.10 -p sitedb -e ‘show tables;’

Простой скрипт для миграции MySQL базы данных

Скрипт для Миграции базы данных MySQL

logi.cc

Рубрика: *Unix,*Linux, *Windows, FreeBSD | Оставить комментарий

Установка MySQL на FreeBSD

Вот и дошли руки до баз данных. И хоть я не девелопер в базах, но MySQL нам пригодиться для дальнейшего развертывания web и mail служб на нашем сервере FreeBSD. Почему MySQL? Идеологических объяснений нет, просто он самый популярный. Надеюсь, не опущу рук и рассмотрю в будущем и другие базы.

Приступим…

Опции установки MySQL на FreeBSD

Для установки мускула есть много опций. По этому, перед установкой в /etc/make.conf внесем несколько записей. Укажем версию, кодировку (юникод), и несколько опций:

# MySQL options
DEFAULT_MYSQL_VER=55
PORTSDIR?=      /usr/ports
# server options
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql55-server
WITH_CHARSET=utf8
WITH_COLLATION=utf8_unicode_ci
WITH_LINUXTHREADS=yes
BUILD_OPTIMIZED=yes
BUILD_STATIC=yes
WITHOUT_INNODB=yes
.endif
# client options
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql55-client
WITH_CHARSET=utf8
WITH_COLLATION=utf8_unicode_ci
BUILD_OPTIMIZED=yes
.endif

Установка и настройка MySQL на FreeBSD

Теперь соберем MySQL:

cd /usr/ports/databases/mysql55-server/
make && make install & make clean

MySQL собрался — делаем rehash и создадим его конфиг. Для этого, скопируем дефолтный конфиг:

cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf

И немного его подправим. У меня он такой:

less /etc/my.cnf
# The MySQL clients options
[client]
port            = 3306
socket          = /tmp/mysql.sock

# The MySQL server options
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
bind-address    = 127.0.0.1
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

skip-networking
server-id = 1

#skip-innodb
innodb_data_home_dir = /var/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql/
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

Запуск MySQL на FreeBSD

Ставим базы, раздаем права и запускаем MySQL:

/usr/local/bin/mysql_install_db
chown -R mysql:mysql /var/db/mysql
echo 'mysql_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start

Если ошибки, смотрим логи:

tail -f /var/db/mysql/`uname -a | awk '{print $2}'`.err

Если все ок, нужно установить пароль для мускульного рута и удалить лишних пользователей:

mysqladmin -u root password 'myrootpassword'
mysql -uroot -pmyrootpassword mysql

Это мы подключились к мускулу под рутом с использованием нового пароля. Теперь удалим всех лишних пользователей:

mysql> delete from user where not (user='root' and host='localhost');

И переверим что остался только рут:

mysql> select user,host from user;
+------+-----------+
| user | host      |
+------+-----------+
| root | localhost |
+------+-----------+

На этом установка и настройка MySQL на FreeBSD завершена. Можно приступать к развертыванию других сервисов.

www.rublin.org

Рубрика: *Unix,*Linux, FreeBSD | Оставить комментарий

10 советов по начальной настройке среды Hyper-V

Как правило, установка среды Hyper-V не представляет собой ничего принципиально сложного и не занимает много времени. Однако, ее настройка может вызвать массу вопросов и точно потребует пристального внимания. Поэтому сегодня мы бы хотели дать несколько полезных советов по тому, как правильно выполнить настройку Hyper-V. Порядок их применения может быть произвольным.

10 советов по начальной настройке среды Hyper-V

1. Установите обновления, а затем решите, как будете обновлять Hyper-V в дальнейшем

Независимо от способа установки, компоненты на сервере Hyper-V необходимо будет обновлять, и вам нужно решить, как именно это делать. Обновления, требующие перезагрузки хоста, приостанавливают работающие на нем виртуальные машины и возобновляют их работу, как только хост будет снова запущен. Если такой вариант не приемлем, то следует обдумать возможности переноса виртуальной машины, использования SCVMM, выделения времени на обновления и т.д.

2. Определитесь с доменом

Есть различные точки зрения по поводу того, добавлять ли хосты Hyper-V в тот же домен Active Directory, где находится все остальное, или нет. Некоторые пользователи выделяют отдельный домен для хостов Hyper-V, другие даже не вводят хосты Hyper-V в домен. Оценить риски, рассмотреть особенности управления доменами и возможные сценарии сбоев, чтобы принять решение, лучше всего исходя из вашей оценки виртуальной среды, т.е, универсального ответа нет, и вам придется решить это самостоятельно.
Кроме того, на этом этапе нужно придумать для хоста Hyper-V подходящее имя. Лучше подбирать имя, которое будет выделяться в номенклатуре ваших серверов, потому что ошибок при работе с хостом Hyper-V допускать нельзя: они могут быть по-настоящему губительны. Перепутать названия и пустить в перезагрузку хост с виртуальными машинами почтового и файлового серверов в разгар рабочего дня – не та ситуация, ради которой внедряют виртуализацию.

3. Настройте систему хранения

Если вам необходимы драйверы MPIO и НВА-адаптера или программное обеспечение для SAN, установите все это еще до того, как добавите роль Hyper-V (речь идет о сценарии установки для Windows Server 2012). К тому времени, когда вы займетесь виртуальными машинами, все эти компоненты уже должны быть в рабочем состоянии.

4. Настройте учетные записи администраторов

Хотите использовать тот же пул администраторов, что и на всех остальных серверах Windows Server? Тогда перечитайте пункт 2.

5.Подберите понятные имена для сетевых интерфейсов

Если вы правильно настроили виртуальную среду, на ваших хостах будет несколько сетевых интерфейсов. Когда все они называются «Подключение по локальной сети» или «Подключение по локальной сети 2», это не очень удобно. Хорошо, если у вас интерфейсы разных типов (например, на базе устройств Broadcom и Intel): можно просто вспомнить, что и где стоит. Но рассчитывать только на свою память не стоит. Присвойте каждому интерфейсу понятное имя: «ЛВС хоста», «ЛВС управления» и т. д. Можно даже указать тип канала связи: «К» для кабельных, «С» для сложносоставных и т. п.

6. Отключите ненужные протоколы

Если хосты Hyper-V будут работать в центре обработки данных, вы, скорее всего, не будете использовать большинство одноранговых сетевых технологий Windows, и тем более, протокол IPv6. Все должно быть предельно просто: стоит упростить инфраструктуру и отключить такие компоненты, как протокол IPv6, служба топологии канального уровня и вообще все, чем вы точно не будете пользоваться.

10 советов по начальной настройке среды Hyper-V. Совет 6: Отключите ненужные протоколы

7. Обязательно активируйте Windows

Независимо от того, какой способ активации вы используете: сервер управления ключами (KMS), ключ многократной активации (MAK), OEM-версию Windows или что-то еще, — убедитесь в том, что загрузка Windows не прерывается из-за предложения активировать систему с помощью консоли. Этот момент не так важен при использовании Hyper-V Server 2012, бесплатного гипервизора от Microsoft.

8. Настройте удаленное и локальное управление

Это одна из рекомендаций Microsoft, которая необходима, но которую часто игнорируют. Новый диспетчер серверов, оболочка PowerShell и диспетчер Hyper-V позволяют выполнять многие операции в удаленном режиме, не входя непосредственно на сервер. Однако при этом необходимо подобрать для себя удобный инструмент. Например, некоторые по-прежнему предпочитают входить на серверы в режиме удаленного рабочего стола, даже если приходится использовать банальную консоль с одной-единственной командной строкой, как Windows Server Core с Hyper-V или Hyper-V Server 2012.

9. Задайте пути по умолчанию к виртуальным машинам и дискам

Что может раздражать сильнее, чем случайно наткнуться на виртуальную машину на локальном диске? Как ни странно, иногда такое случается из-за ошибок администрирования. Обязательно укажите правильное местоположение в настройках виртуальных жестких дисков и виртуальных машин. Можно не ждать ничего хорошего, если вы заполните диск C:\ и хост перестанет нормально работать, поэтому даже если приведенный вариант (диск E:\ на рисунке 2) не оптимален, в ситуации, когда диск переполняется, он все равно лучше.

10 советов по начальной настройке среды Hyper-V. Совет 9: Задайте пути по умолчанию к виртуальным машинам и дискам

10. Проверьте возможность доступа по внештатному каналу

Этот совет актуален как для Hyper-V, так и для vSphere. Убедитесь в том, что вы сможете подключиться к системе, если что-то пойдет не так. Вам помогут такие инструменты, как KVM, Dell DRAC или HP iLO.

Это советы самого общего характера, основанные на опыте работы с виртуальной средой, но наверняка есть масса других полезных приемов. На самом деле, лучший способ приобрести опыт — развернуть систему, а затем зафиксировать, что именно пришлось изменять после установки.

Чтобы настроенная система виртуализации продолжала в дальнейшем оптимально функционировать, можно применять средства резервного копирования, мониторинга и анализа производительности, специально предназначенные для виртуальной среды. Дополнительно на эту тему можно посмотреть следующие ссылки:

Рубрика: Hyper-V | Оставить комментарий

Пилигрим — Памяти Виктора Цоя.


Пилигрим — Памяти Виктора Цоя.

Рубрика: клип | Оставить комментарий

Colette Carr — Why Are You Leaving? ft. Kev Nish

Colette Carr — Why Are You Leaving? ft. Kev Nish

Рубрика: клип | Оставить комментарий