LINUX.ORG.RU

Нужно установить второй MySQL сервер на Centos 6

 ,


1

1

Всем привет.

Возникла необходимость установить дополнительный MySQL сервер версии 3.2.3 рядом с уже установленным MySQL 5.5 в Centos 6, чтобы работала по адресу localhost2 например.

Кто нибудь сталкивался с таким? Есть решения?

Я так понимаю нужно сделать в консоли чтото вроде этого, но нужно допилить команды т.к. попытка всего одна и потестить негде.

mkdir -p /home/src cd /home/src

wget http://pkgs.fedoraproject.org/repo/pkgs/mysql/mysql-3.23.58. tar.gz/835a96c86132fbde0db36db60c5b34cd/mysql-3.23.58.tar.gz

tar zxf mysql-3.23.58.tar.gz

/home/src/mysql-3.23.58/

groupadd mysql2 useradd -g mysql2 -c «MySQL Server2» -d /dev/null -s /sbin/nologin mysql2

./configure --help | less

cd /home/src chown -R root.root mysql-3.23.58 cd mysql-3.23.58

CFLAGS="-O2" \ CXX=gcc \ CXXFLAGS="-O2 \ -felide-constructors \ -fno-exceptions \ -fno-rtti" \ ./configure \ --enable-assembler \ --with-mysqld-ldflags=-all-static \ --prefix=/home/mysql2 \ --localstatedir=/home/mysql2/data \ --disable-maintainer-mode \ --with-mysqld-user=mysql2 \ --with-unix-socket-path=/tmp/mysql2.sock \ --without-comment \ --without-debug \ --without-bench

make && make install

./scripts/mysql_install_db

chown -R root:mysql2 /home/mysql2 chown -R mysql2:mysql2 /home/mysql2/data

cp support-files/my-medium2.cnf /etc/my2.cnf chown root:sys /etc/my2.cnf chmod 644 /etc/my2.cnf

echo «/home/mysql2/lib/mysql» >> /etc/ld.so.conf ldconfig

cp ./support-files/mysql2.server /etc/rc.d/init.d/mysql2 chmod +x /etc/rc.d/init.d/mysql2 /sbin/chkconfig --level 3 mysql2 on

cd /home/mysql2/bin for file in *; do ln -s /home/mysql2/bin/$file /usr/local/bin/$file; done

skip-networking

cd ~ /etc/rc.d/rc3.d/S90mysql2 start

Буду очень благодарен за помощь.



Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от anonymous

Чтобы перенести большой дамп баз на новый сервер. Который крутился на версии 3.2.3 и на 5 вставать не хочет.

tomclancys
() автор топика

CFLAGS="-O3"

CXXFLAGS="-O3

Одна попытка, говоришь? :3 Ставь не больше -O2 (я бы вообще убрал, а то хз, как это старое дерьмо соберется)

Порт не забудь поменять

Chaser_Andrey ★★★★★
()

и вообще, зачем тебе кастомные флаги в этой ситуации?

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Остановился на ./configure --help | less

Не хочет дальше идти.

Выдаёт следующее:

Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations.

tomclancys
() автор топика
Ответ на: комментарий от tomclancys

На команду: ./configure CPPFLAGS='-I/usr/local/mysql2'

Выдаёт следующее: checking «LinuxThreads»... «Not found» configure: error: This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used. Please install Linuxthreads (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.

tomclancys
() автор топика
Ответ на: комментарий от tomclancys

Который крутился на версии 3.2.3 и на 5 вставать не хочет.

может лучше с этим разобраться ? что за дамп, в каком виде. На что ругается 5.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Экспортировали через PhpMyAdmin. И импортировали тоже с такими настройками: Режим совместимости SQL: 323 Не использовать атрибут AUTO_INCREMENT для нулевых значений Кодировка файла: Windows 1251

Вылазит ошибка:

SQL-запрос:

-- -- Дамп данных таблицы `sphider_pending` -- -- -- Структура таблицы `sphider_query_log` -- CREATE TABLE `sphider_query_log` ( `query` varchar( 255 ) default NULL , `time` timestamp( 14 ) NOT NULL , `elapsed` float default NULL , `results` int( 11 ) default NULL , KEY `query_key` ( `query` ) ) ENGINE = MYISAM ;

Ответ MySQL: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, `elapsed` float default NULL, `results` int(11) default NULL,' at line 14

При экспорте из MySQL 3.2.3 нельзя выбрать кодировку файла почему то.

tomclancys
() автор топика
Ответ на: комментарий от tomclancys

экспорте из MySQL 3.2.3 нельзя выбрать кодировку файла почему то.

сконверти дамп в UTF8 - всё равно его править надо.

timestamp( 14 )

мне вот тоже неочень понятен смысл сего. Очевидно просто timestamp без указания размера.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Это только от одной базы. А так их полно разных других. так что решили просто поднять рядом с существующим уже MySQL сервером старый и залить туда все файлы от баз в формате .MYI и т.д.

tomclancys
() автор топика
Ответ на: комментарий от tomclancys

Это только от одной базы. А так их полно разных других. так что решили просто поднять рядом с существующим уже MySQL сервером старый и залить туда все файлы от баз в формате .MYI и т.д.

Насколько помню, бинарной совместимости файлов между 3.2.3 и 5.0 нет, она ломалась несколько раз. Так что кроме Corrupted Database ты скорее всего ничего не получишь.

Работай с дампом.

BaBL ★★★★★
()
Ответ на: комментарий от tomclancys

Это только от одной базы. А так их полно разных других.

надо разобраться с одной базой, а остальные дампы сконвертить по образу и подобию скриптом на sed например (да хоть за день руками в текстовом редакторе). Изменения косметические и все практически одинаковые.

MKuznetsov ★★★★★
()

А в чём проблема?

Компилируешь с префиксом, например, /usr/local и управляешь всем этим счастьем, например, при помощи mysqld_multi.

Я делал что-то похожее, только там была одна версия запущена дважды на разных портах.

Shtsh ★★★★
()
Ответ на: комментарий от Shtsh

Ознакомился с вашей статьей. Вроде всё понятно. Но хотелось бы подробностей как это сделать с разными версиями MySQL.

tomclancys
() автор топика
Ответ на: комментарий от Shtsh

Нет. Я имею ввиду как поднять на сервере ещё одну MySQL. Пока остановились на ./configure --help | less лезут ошибки. Дальше не зашли.

tomclancys
() автор топика

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

Да. Установить в KVM старый дистрибутив, где есть мускуль 3.2 и сделать, чо надо. Потом снести и не парить моск сборкой вручную (не засирать основную систему, т.е.).

Alve ★★★★★
()
Ответ на: комментарий от tomclancys

Во-первых, экспортировать и импортировать крайне желательно через mysqldump (и, соответственно, заливать обратно через cat file|mysql)

Во-вторых, понятие «кодировка» появилась в mysql, начиная с 4.1, насколько я помню.

В третьих, тебе не нужен древний мускл, решать надо причину проблемы, а не её следствие.

Deleted
()
Ответ на: комментарий от juk4windows

Было бы замечательно!

Дампы делали и через mysqldump, файл получался примерно 1.1ГБ в формате .sql и при импорте сразу начинали вылазить ошибки ...

tomclancys
() автор топика

LXC, наверное, будет лучшим выходом.

KRoN73 ★★★★★
()
Ответ на: комментарий от tomclancys

Собрать это чудо техники на CentOS 6 - самоубиться (оно требует старые auto-tools + старый GCC).

Поставьте Fedora 3 или какой старый RHEL в chroot и дело сделано.

juk4windows
()
Ответ на: комментарий от juk4windows

Сейчас пробовали ещё раз сделать mysqldump с такими параметрами: mysqldump --opt --add-locks --allow-keywords --force -uroot -pffbfjPY8EBKytas2 --all-databases > /var/www/databasesall_databases.sql

Вылезла ошибка: mysqldump: Got error: 1033: Incorrect information in file: './mysql/help_category.frm' when using LOCK TABLES mysqldump: Can't get CREATE TABLE for table `help_category` (Incorrect information in file: './mysql/help_category.frm') mysqldump: Can't get CREATE TABLE for table `help_keyword` (Incorrect information in file: './mysql/help_keyword.frm') mysqldump: Can't get CREATE TABLE for table `help_relation` (Incorrect information in file: './mysql/help_relation.frm') mysqldump: Can't get CREATE TABLE for table `help_topic` (Incorrect information in file: './mysql/help_topic.frm') mysqldump: Can't get CREATE TABLE for table `time_zone` (Incorrect information in file: './mysql/time_zone.frm') mysqldump: Can't get CREATE TABLE for table `time_zone_leap_second` (Incorrect information in file: './mysql/time_zone_leap_second.frm') mysqldump: Can't get CREATE TABLE for table `time_zone_name` (Incorrect information in file: './mysql/time_zone_name.frm') mysqldump: Can't get CREATE TABLE for table `time_zone_transition` (Incorrect information in file: './mysql/time_zone_transition.frm') mysqldump: Can't get CREATE TABLE for table `time_zone_transition_type` (Incorrect information in file: './mysql/time_zone_transition_type.frm')

tomclancys
() автор топика
Ответ на: комментарий от tomclancys

БД mysql базу зачем пытаетесь восстановить???

Базы надо экспортировать по _одной_ и также импортировать.

juk4windows
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.