Страница 1 из 1

MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-09 10:24:42
generik
Есть, сервер MySQL 5.0.15a на нем примерно два десятка баз включая системные.

Собираюсь перемещать их на другой сервер где уже подготовлена и установлена версия MySQL 5.0.67

Делать обыкновенный дамп баз и заливку их обратно не подходит.

Достаточно будет просто скопировать содержимое самых баз с жесткого диска и подставить в уже новую базу?

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-09 10:27:28
zg
generik писал(а):Делать обыкновенный дамп баз и заливку их обратно не подходит.
это единственно правильный вариант
generik писал(а):Достаточно будет просто скопировать содержимое самых баз с жесткого диска и подставить в уже новую базу?
да, при условии, что оба сервера муси остановлены и права выставлены верно

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-09 10:33:38
generik
zg писал(а):
generik писал(а):Делать обыкновенный дамп баз и заливку их обратно не подходит.
это единственно правильный вариант
generik писал(а):Достаточно будет просто скопировать содержимое самых баз с жесткого диска и подставить в уже новую базу?
да, при условии, что оба сервера муси остановлены и права выставлены верно
Я понимаю что дам является самым для меня простым и правильным решением, но у меня нету возможности остановить роботу баз, более чем на 1 час.

сервера в любом случае будут остановлены, но не более чем на 1 час.

Я так понял, что в варианте с подстановкой данных в другой сервер нужно как минимум сделать дамп системных таблиц, что бы небыло проблем с правами и ограничениями которые там установлены?

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-09 10:51:14
zg
generik писал(а):Я понимаю что дам является самым для меня простым и правильным решением, но у меня нету возможности остановить роботу баз, более чем на 1 час.
дамп предполагает, что сервера работают :cf:
generik писал(а):Я так понял, что в варианте с подстановкой данных в другой сервер нужно как минимум сделать дамп системных таблиц
есть три пути:
1. mysqldump
2. mysqlhotcopy
3. tar

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

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-09 11:13:52
LMik
Тормози серваки, копируй файлы, потом на новом mysql_upgrade пускай. Это если надо по быстрому, но шансы что-то потерять могут иметь место.
Правильные варианты постом выше.

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-11 21:12:15
fxp
по пунктам:
1) останов мускула
2) снапшот фс
3) запуск мускула
4) копирование баз на новый сервер, прогонка mysql_analyze && mysqldump
Если все ок то:
5) на старом сервере portmaster -D /usr/ports/databases/mysql50-server/ && /usr/local/etc/rc.d/mysql-server restart

простой - 2 раза по 5 секунд.

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-12 7:47:57
zg
fxp писал(а):2) снапшот фс
....
простой - 2 раза по 5 секунд.
поясни, что есть снапшот, и почему на него не тратится ни секунды?

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-12 12:04:57
Alex Keda
моментальный снимок файловой системы.
после - можно уже изменять данные, но в снимок пойдёт неизменённные - те что были на его момент

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-12 15:57:58
zg

Код: Выделить всё

SYNOPSIS
     mksnap_ffs mountpoint snapshot_name

DESCRIPTION
     The mksnap_ffs utility creates a snapshot named snapshot_name on the file
     system mounted at mountpoint.  The snapshot_name argument must be con-
     tained within the file system mounted at mountpoint.

     The group ownership of the file is set to ``operator''; the owner of the
     file remains ``root''.  The mode of the snapshot is set to be readable by
     the owner or members of the ``operator'' group.
гм... и куда потом со снапшотом?

Код: Выделить всё

zg# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a    496M    145M    311M    32%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1d    4.8G    547M    3.9G    12%    /root
/dev/ad4s1h    496M    432M     24M    95%    /tmp
/dev/ad4s1e     24G     15G    7.2G    68%    /usr
/dev/ad4s1f     24G    3.1G     19G    14%    /usr/ports
/dev/ad4s1g    496M    264M    192M    58%    /var
/dev/ad6s1c    144G     20G    113G    15%    /backup
zg# mksnap_ffs /root my_snapshot
mksnap_ffs: Cannot create my_snapshot: Cross-device link
zg# mksnap_ffs /root /root/my_snapshot
zg# ls /root/my
my_snapshot         mysql51-server.tbz
zg# ls -a /root/my_snapshot
/root/my_snapshot
zg# ls -lah /root/my_snapshot
-r--r-----  1 root  operator   5,0G 12 янв 18:01 /root/my_snapshot
zg# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a    496M    145M    311M    32%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1d    4.8G    550M    3.9G    12%    /root
/dev/ad4s1h    496M    432M     24M    95%    /tmp
/dev/ad4s1e     24G     15G    7.2G    68%    /usr
/dev/ad4s1f     24G    3.1G     19G    14%    /usr/ports
/dev/ad4s1g    496M    264M    192M    58%    /var
/dev/ad6s1c    144G     20G    113G    15%    /backup
zg# snapinfo /root/my_snapshot
usage: snapinfo [-v] -a
       snapinfo [-v] mountpoint
zg# snapinfo /root/
/root/my_snapshot
zg# snapinfo -v /root/
/dev/ad4s1d mounted on /root
        snapshot /root/my_snapshot (inode 50)
zg#
его потом можно будет куда-нить развернуть? или смонировать?

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-12 21:52:39
fxp
google it
а вообще сегодня обновлялся 5.0.67 -> 5.0.75
хватило тупо portmaster -D /usr/ports/databases/mysql50-server/ && /usr/local/etc/rc.d/mysql-server restart
все нормально подцепилось, исессно бекап у меня был и остался)

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-13 8:57:07
zg
fxp писал(а):google it
а ты не?
fxp писал(а):все нормально подцепилось, исессно бекап у меня был и остался)
сам сделал, другим помоги, а не на гугл посылай

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-26 14:07:50
Volodymyr
Делал 2 месяца назад 4.1 -> 5.1
  1. Сделал дамп всего на всякий случай.
  2. make deinstall port mysql41-client & mysql41-server
  3. make install port mysql51-server
  4. mysqlupgrade
Все заработало, времени заняло минут 15. 30 БД сумарно больше 1Гб.

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-29 17:21:54
schizoid
а дамп баз пригодился? или оно все само подхватило?
у мну переезд с

Код: Выделить всё

# pkg_info | grep mysql
mysql-client-4.0.24_1 Multithreaded SQL database (client)
mysql-server-4.0.24_1 Multithreaded SQL database (server)
наверна на 5.0...

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-29 17:29:52
zg
лучше дамп сделай, кодировки могут не совпасть и данные похерятся. В 4.0 нет кодировок, а в 5.0 есть.

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-29 17:33:15
schizoid
а чем лучше дамп делать?

Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-29 17:50:51
Volodymyr
schizoid писал(а):а чем лучше дамп делать?

Код: Выделить всё

!/bin/sh

backup_dir="/backup"
mysql_user="root"
mysql_password="****"

/usr/sbin/ntpdate -b pool.ntp.org

checkdir ()
{
    if [ ! -d $1 ]
    then
        mkdir $1
        chmod 700 $1
        chown mysql $1
    fi
}

checkdir $backup_dir
umask 077
/usr/local/bin/mysqlcheck --user=$mysql_user --password=$mysql_password --repair --analyze --optimize --all-databases --auto-repair
db_names=`echo 'show databases' | /usr/local/bin/mysql --user=$mysql_user --password=$mysql_password -N`
for db in $db_names
do
    file=$backup_dir/$db/`date "+%Y-%m-%d.%H:%M:%S"`.$db.sql
    checkdir $backup_dir/$db
    /usr/local/bin/mysqldump --user=$mysql_user --password=$mysql_password --database $db --result-file=$file
    gzip ${file}
done


Re: MySQL 5.0.51a перенос всех баз на MySQL 5.0.67

Добавлено: 2009-01-29 18:28:58
zg
schizoid писал(а):а чем лучше дамп делать?
pma неплохо дампы делает, но можно и через mysqldump, например так

Код: Выделить всё

mysqldump -aA -uUSER -pPASSWORD --add-drop-database --add-drop-table --insert-ignore