Как настроить Mysql Cluster?

7

Я пытаюсь установить mysql-cluster-gpl-7.1.17-linux-i686-glibc23.tar.gz на ubuntu 10.04 server в течение последних 3 недель и пока не удалось.

Ниже перечислены следующие ссылки:

  

Ссылка

     

Ссылка

     

Ссылка

     

Ссылка

     

Ссылка

Все конфигурации в приведенных выше ссылках почти одинаковы с некоторыми небольшими изменениями, и я просто попробовал все, если какие-либо работы, но нет.

Я уже опубликовал сообщение serverfault , но я все еще не могу способный заставить его работать.

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

Также я не понимаю, нужно ли устанавливать mysql-server или mysql-client вместе с mysql-cluster else mysql-cluster для запуска mysqld на узлах SQL. В моем случае установка 3 nodes=(data1+sql1 + data2+sql2 + mgmt node) .

Частые ошибки :

  

/etc/init.d/mysql.server start

Вывод:

Starting MySQL
 * Couldn't find MySQL manager (/usr/bin/mysqlmanager) or server (/usr/bin/mysqld_safe)

Я даже пытался копировать /usr/local/mysql/bin/* в /usr/bin , но все равно не использовать, поскольку он сообщал . * Manager of pid-file quit without updating file. при попытке запустить!

  

При попытке запустить демон mysql на узле data / sql

     

cd / usr / local / mysql

     

./ bin / mysqld_safe --user = mysql --defaults-file = / etc / my.cnf & amp;

Вывод:

[1] 2338
[email protected]:/usr/local/mysql# 111208 15:53:47 mysqld_safe Logging to syslog.
111208 15:53:47 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
111208 15:53:47 mysqld_safe mysqld from pid file /var/lib/mysql/web2.pid ended

[1]+  Done                    ./bin/mysqld_safe --user=mysql --defaults-file=/etc/my.cnf

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

Спасибо!

Обновить : 1

Теперь на узлах SQL / Data я уже удалил mysql-server и mysql-client , которые я обычно устанавливаю в качестве базового пакета любой новой установки. Я удалил их, выполнив следующую команду, и на обоих узлах доступно только mysql-cluster , которое я не смог настроить:

  

apt-get удалить mysql-client mysql-client-5.1 mysql-client-core-5.1   mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1

Обновить : 2

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

  1. Каков наилучший способ добавления / удаления mgmt , SQL/DATA узлов в сети?

    EDIT : я пробовал mysql docs для добавления узлов в сеть, но запутался и не работал, если я не выключу все узлы и не удаляю журналы в /var/lib/mysql-cluster на всех узлах.

  2. Какие дополнительные конфигурации следует включить в файл my.conf для лучшей настройки производительности, например, DataMemory и IndexMemory , если кто-нибудь, кто использует для производства, может порекомендовать или вставить его здесь?

    / li>

Обновить : 3

  1. Как конвертировать все механизмы таблиц базы данных в NDB, которые также имеют внешние ключи?

    EDIT : я нашел скрипт для преобразования всех движков таблицы, но все таблицы моей базы данных не преобразуются как для ошибки: ОШИБКА 1217 (23000) в строке 11: Can not удалить или обновить родительскую строку: ограничение внешнего ключа завершено

  2. Есть ли способ обладать как функциями NDB & amp; InnoDB с репликацией кластера и мультимастера без риска (время простоя)?

задан user3215 08.12.2011 в 11:51
источник

1 ответ

6

Ох .., после нескольких попыток я заработал сам, и это заняло до сих пор. Ссылки очень хорошие учебники, и я мог бы решить проблемы, которые у меня были таким образом.

  

Также я не понимаю, нужно ли устанавливать mysql-server или mysql-клиент вместе с mysql-кластером, иначе для mysqld для SQL-узлов достаточно только одного mysql-кластера.

A . Я не уверен, что mysql-cluster работает с mysql-server и mysql-client , которые уже установлены из apt , но я уверен, что эти или любой дополнительный пакет НЕ требуются для mysql-кластера на Ubuntu, поскольку он сам имеет все пакеты. Поэтому я могу запустить mysqld из извлеченного кластера пакета и ничего не требуется для этого, чтобы дополнительно установить для узлов SQL.

  

./ bin / mysqld_safe --user = mysql --defaults-file = / etc / my.cnf & amp;

A : не нужно запускать mysqld вручную и вместо этого использовать /etc/init.d/mysql.server start копирование из /usr/local/mysql/support-files/mysql.server для запуска узла mysqld / SQL.

  

Запуск MySQL    * Не удалось найти менеджер MySQL (/ usr / bin / mysqlmanager) или сервер (/ usr / bin / mysqld_safe)

A . Выше была ошибка при попытке запустить mysql.server , и это было связано с тем, что у меня уже были mysql-server и mysql-client . Те должны быть полностью удалены (я не уверен, могу ли успешно использовать кластер вместе с ними), и я это сделал. Они не были полностью удалены (вероятно, я должен использовать apt --purge remove ). Проверьте с dpkg --get-selections | grep mysql , если вы найдете deinstall , тогда они не будут полностью удалены, что должно быть, иначе придется сталкиваться с ошибкой выше. Выполнение ниже команды полностью удалило их, и я мог запустить mysql.server без ошибок.

aptitude purge $(dpkg --get-selections | grep deinstall | sed s/deinstall//) #To completely remove all deinstall package
pkill -9 mysqld
/etc/init.d/mysql.server
  

............ * Менеджер pid-файла завершает работу без обновления файла.

A . Я неоднократно сталкивался с вышеупомянутой ошибкой в ​​своем тестировании, пытаясь запустить mysql.server . Я мог бы избежать этого, просто предоставив разрешение data пользователю mysql, например chown -R mysql:mysql /usr/local/mysql/data , эта ошибка была вызвана тем, что я пытался извлечь mysql-кластер заново, и, следовательно, ошибка, так как пользователь mysql не смог создать файл pid под каталогом данных без разрешения и журнала ошибок в /var/lib/mysql-cluster на sql / data node помог мне проследить это.

Должно быть очень специфично при назначении / usr / local / mysql / data , если вы просто делаете chown -R mysql:mysql /usr/local/mysql и сохраняете тишину, это не сработает и выйдет одна и та же ошибка!

После предоставления разрешения проверьте, что mysqld работает и работает, выпуская /usr/local/mysql/bin/mysql -uroot -p . Даже после ввода пароля вы не можете подключиться и вызывать ошибку, тогда пароль mysql root не установлен или вы забыли. Используйте команду ниже для сброса пароля root mysql, а затем снова попробуйте подключиться:

/usr/local/mysql/bin/mysqladmin -uroot password your-new-password-here

Я не удовлетворен ответом, и я не желаю принимать и награждать себя, поскольку у меня есть еще много дел в этой кластеризации. Я готов обновить свой вопрос с помощью большего количества запросов и подождать, чтобы начислять очки другим, кто будет отвечать. ОБНОВЛЕНО ВОПРОС!

Спасибо!

Update

Мы думали об использовании MySQL Cluster для создания веб-серверов, где apache-tomcat обслуживает некоторые статические и jsp-страницы, но из-за медленного joins , без поддержки foreign keys и т. д. ... проблемы, которые имеют решающее значение в нашей среде и отлично работает в движке Innodb, чем NDB, я заканчиваю не используя кластер mysql и снова смотрю на репликацию, хотя у него есть проблемы с синхронизацией. Спасибо!

    
ответ дан user3215 11.12.2011 в 15:46
источник