SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#26 22.07.2010 09:58:05

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Здравствуйте!
Возник вопрос.
Так как для реализации MySQL кластера и MySQL реплики нужны разные пакеты MySQL, то возможна ли миграция между двумя этими подходами?
То есть я поднял MySQL реплику, а потом решил что MySQL кластер мне больше подходит, и наоборот.

Неактивен

 

#27 22.07.2010 14:07:26

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Ну, можно поднять кластер, а потом залить туда данные. В своем роде миграция smile

Неактивен

 

#28 22.07.2010 16:50:44

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Сенкс! Глупый вопрос, но нужно было жесткое подтверждение))). Вдруг есть подводные камни.

Неактивен

 

#29 30.07.2010 16:23:00

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Всех с праздником! У меня возник вопросик!
Прочитал это

http://dev.mysql.com/doc/mysql-cluster-excerpt/5.1/en/mysql-cluster-quick.html
http://www.ctrip.ufl.edu/mysql-cluster- … enny-howto
http://www.howtoforge.com/loadbalanced_ … _debian_p2

И делал что там написано!!!
В итоге:

node2:/etc# /etc/init.d/mysql
shift: 108: can't shift that many

Идем туда - там shift и все. Всего 445 строк кода, не буду выкладывать, предполагаю вы и так его знаете.
Или вот так:

node2:/etc/init.d# /etc/init.d/mysql start
Starting MySQL
.......Manager of pid-file quit without updating file. ... failed!

Что то ему не нравится.....подскажите что дальше делать?

Отредактированно borodatych (30.07.2010 16:24:17)

Неактивен

 

#30 02.08.2010 08:47:07

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Может быть нужные пакеты есть в репозитории?
Не нашел ни MySQL Cluster ни Max пакетов.
Может название сменили? То как тогда сейчас сие чудо называется?

Неактивен

 

#31 02.08.2010 09:54:27

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Делал вот это:

cd /var/lib/mysql
touch mysql.sock
chown mysql.mysql mysql.sock
chmod 777 mysql.sock
cd /tmp
ln -s /var/lib/mysql/mysql.sock mysql.sock
/etc/init.d/mysql restart

результат тот же....
Мой my.cnf:

[client]
port<--><------>= 3306
socket<><------>= /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket<><------>= /var/run/mysqld/mysqld.sock
nice<--><------>= 0
[mysqld]
ndbcluster
ndb-connectstring='host=10.10.10.10'    # IP address of the management server
user<--><------>= mysql
pid-file<------>= /var/run/mysqld/mysqld.pid
socket<><------>= /var/run/mysqld/mysqld.sock
port<--><------>= 3306
basedir><------>= /usr
datadir><------>= /var/lib/mysql
tmpdir<><------>= /tmp
language<------>= /usr/share/mysql/english
skip-external-locking
bind-address<--><------>= 127.0.0.1
key_buffer<----><------>= 16M
max_allowed_packet<---->= 16M
thread_stack<--><------>= 128K
thread_cache_size<----->= 8
myisam-recover<><------>= BACKUP
query_cache_limit       = 1M
query_cache_size        = 16M
expire_logs_days<------>= 10
max_binlog_size         = 100M
skip-bdb
[mysqldump]
quick
quote-names
max_allowed_packet<---->= 16M
[isamchk]
key_buffer<----><------>= 16M
[mysql_cluster]
ndb-connectstring='host=10.10.10.10'    # IP address of the management server
!includedir /etc/mysql/conf.d/

Что где перемудрил/недомудрил ?

Неактивен

 

#32 02.08.2010 10:05:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

А какая ОС? И в каком репозитории? wink

Неактивен

 

#33 02.08.2010 10:11:28

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Debian Squeeze 2.6.32-5-686
Все это катается на virtualbox, хотя наверное не принципиально, но все же.......

Отредактированно borodatych (02.08.2010 10:12:34)

Неактивен

 

#34 02.08.2010 10:49:20

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Мне казалось, стабильный дебиан — ленни smile

В дебиане действительно отказались от сборки кластера. Поддерживать это
для среднестатистического пользователя тяжело smile Пересоберите пакетик
без --without-ndbcluster. Ну или возьмите tarball под Linux с mysql.com.

Ну и надо понимать, что amd64 таки лучше для серверной платформы.

Неактивен

 

#35 02.08.2010 12:30:27

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Я еще даже не дошел до --without-ndbcluster....

# ndb_mgmd
2010-08-02 20:16:38 [MgmtSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.4b
2010-08-02 20:16:38 [MgmtSrvr] ERROR    -- Could not determine which nodeid to use for this node. Specify it with --ndb-nodeid=<nodeid> on command line

# ndb_mgmd --ndb-nodeid=2
2010-08-02 20:16:55 [MgmtSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.4b
2010-08-02 20:16:55 [MgmtSrvr] INFO     -- Trying to get configuration from other mgmd(s) using 'nodeid=2,10.10.10.10:1186'...
2010-08-02 20:16:55 [MgmtSrvr] INFO     -- Connected to '10.10.10.10:1186'...
2010-08-02 20:16:55 [MgmtSrvr] ERROR    -- This node type ndb_mgmd(MGM) and config node type ndbd(NDB) don't match for nodeid 2

Пока на этом этапе затормозил, подпните в нужную сторону....

Неактивен

 

#36 02.08.2010 13:01:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

В одной из приведенных Вами статей есть пример настройки кластера,
сделайте аккуратно так, как там написано? Ну или возьмите пример
конфигурации с mysql.com.

Неактивен

 

#37 02.08.2010 15:26:45

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Скачал с сайта mysql.com GetMySQLClusterRunning-LINUX
И пользовался вот этим маном: http://www.ctrip.ufl.edu/mysql-cluster- … enny-howto
И где то я попал в тупик. Остановился вот примерно на этом:

api:/usr/local/mysqlc/bin# ./ndbd -c localhost:1186
2010-08-02 23:20:51 [ndbd] INFO     -- Unable to alloc node id
2010-08-02 23:20:51 [ndbd] INFO     -- Error : Could not alloc node id at localhost port 1186: Connection done from wrong host ip 127.0.0.1.
error=2350
2010-08-02 23:20:51 [ndbd] INFO     -- Error handler shutting down system
2010-08-02 23:20:51 [ndbd] INFO     -- Error handler shutdown completed - exiting
sphase=0
exit=-1

api:/usr/local/mysqlc/bin# ./mysqld --defaults-file=/usr/local/mysql-cluster/my.cnf &
[1] 1350
api:/usr/local/mysqlc/bin# 100802 23:23:33 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

100802 23:23:33 [ERROR] Aborting

100802 23:23:33 [Note] ./mysqld: Shutdown complete


[1]+  Exit 1                  ./mysqld --defaults-file=/usr/local/mysql-cluster/my.cnf

api:/usr/local/mysqlc/bin# ./mysqld -u root --defaults-file=/usr/local/mysql-cluster/my.cnf &
[1] 1352
api:/usr/local/mysqlc/bin# 100802 23:24:07 [Warning] Ignoring user change to 'root' because the user was set to 'mysql' earlier on the command line

100802 23:24:07 [Note] Plugin 'FEDERATED' is disabled.
100802 23:24:07 [Note] Plugin 'ndbcluster' is disabled.
100802 23:24:07  InnoDB: Started; log sequence number 0 44233
100802 23:24:07 [ERROR] ./mysqld: unknown variable 'defaults-file=/usr/local/mysql-cluster/my.cnf'
100802 23:24:07 [ERROR] Aborting

100802 23:24:07  InnoDB: Starting shutdown...
100802 23:24:12  InnoDB: Shutdown completed; log sequence number 0 44233
100802 23:24:12 [Note] ./mysqld: Shutdown complete


[1]+  Exit 7                  ./mysqld -u root --defaults-file=/usr/local/mysql-cluster/my.cnf

Что еще предоставить, что бы можно было понять что там у мну не сошлось?

Неактивен

 

#38 02.08.2010 15:42:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Даже не знаю, с какой стороны подойти к вопросу. Вы сделали всё неверно sad

1. Кластер работает в распределенной сети. 127.0.0.1 — это адрес локальный.
2. MySQL не стоит запускать под пользователем root, и уж точно стоит запускать
через сценарий. Хотя бы из-за angel-процесса. Ну и в конфиг тоже название
конфига не вписывают.

Сделайте так, как написано в хаутушке. Ну правда, там не запускают демона
из-под рута и не пытаются водрузить кластер на одну ноду.

Неактивен

 

#39 02.08.2010 15:57:53

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Не знаю что помогло, раз .... несколько все проделал повторно, вроде как заработала:

node2:/usr/local# ndb_mgm -e show
Connected to Management Server at: 10.10.10.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)]    2 node(s)
id=2    @10.10.10.11  (mysql-5.1.44 ndb-7.1.4, starting, Nodegroup: 0, Master)
id=3    @10.10.10.12  (mysql-5.1.44 ndb-7.1.4, starting, Nodegroup: 0)

[ndb_mgmd(MGM)]    1 node(s)
id=1    @10.10.10.10  (mysql-5.1.44 ndb-7.1.4)

[mysqld(API)]    5 node(s)
id=50 (not connected, accepting connect from any host)
id=51 (not connected, accepting connect from any host)
id=52 (not connected, accepting connect from any host)
id=53 (not connected, accepting connect from any host)
id=54 (not connected, accepting connect from any host)

Я прав или нет?
И что это за хвост?

[mysqld(API)]    5 node(s)
id=50 (not connected, accepting connect from any host)
id=51 (not connected, accepting connect from any host)
id=52 (not connected, accepting connect from any host)
id=53 (not connected, accepting connect from any host)
id=54 (not connected, accepting connect from any host)

Отредактированно borodatych (02.08.2010 15:59:54)

Неактивен

 

#40 02.08.2010 16:25:42

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Ну, это пять SQL-нод, которые не подцепились.

Неактивен

 

#41 03.08.2010 08:28:23

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Ну, это пять SQL-нод, которые не подцепились.

Если подскажите из какого файла они образуются, буду признателен, сам не искал еще, но вам подсказать быстрее.......
Не знаю как организовать автостарт кластера, сделал скрипты и кинул в автозагрузку:
На mgmd:

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/mysqlc/bin"
ndb_mgmd --initial -f /usr/local/mysql-cluster/config.ini
ndb_mgmd --ndb-nodeid=1
ndb_mgmd --initial
ndb_mgm -e show

На nod-ах:

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/mysqlc/bin"
ndb_mgmd --initial -f /usr/local/mysql-cluster/config.ini
ndb_mgmd --ndb-nodeid=3
ndbd --initial
ndb_mgm -e show

Если это не верный подход или есть более эффективный, подскажите/пните на таковой!
Если все стартуют через такой костыль, то принципиально какой в очереди скрипт на старте, ну там 99,90,80....как надо?

Неактивен

 

#42 03.08.2010 11:03:11

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Вот этот вопрос не разбирали:

node2:/etc# /etc/init.d/mysql
shift: 108: can't shift that many

Решение здесь: http://john.parnefjord.se/node/71
Меняем в заголовке своего скрипта sh на bash
Если кто знает иное решение - приветствуется!

Отредактированно borodatych (03.08.2010 11:30:05)

Неактивен

 

#43 03.08.2010 12:21:15

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Из config.ini? Там у Вас стоят пустые ноды типа [sql] или [api].

Прочитайте про --initial. Это важно. И подумайте, хорошо ли он там вписан при
рестарте машинки wink

Иное решение — пользоваться человеческими сценариями запуска.

Неактивен

 

#44 03.08.2010 12:40:06

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Иное решение — пользоваться человеческими сценариями запуска.

Есть возможность продемонстрировать/дать ссылку на материал?

Неактивен

 

#45 03.08.2010 13:12:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Эээ... в дебиановских пакетах вполне внятные сценарии запуска.

Неактивен

 

#46 03.08.2010 13:51:57

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

То есть просто взять скрипт mysql.server, который в тарболе на mysql.com, так же mysql от дебиановского mysql-server и переделать mysql.server по образу и подобию mysql от дебы?

Прочитайте про --initial. Это важно. И подумайте, хорошо ли он там вписан при
рестарте машинки

Где почитать? Не могу сгуглить материал.... Вкратце напишите, если не затруднит....

Неактивен

 

#47 03.08.2010 14:12:11

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Ну хотя бы в словаре переведите. Тупое копирование инструкций из интернета
не приводит к хоть сколь-нибудь работоспособным схемам. Постарайтесь вклю-
чить голову.

Что касается «сгуглить» — документация находится на mysql.com.

Неактивен

 

#48 03.08.2010 17:02:43

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Сдаюсь...Опять непорядок в думалке...
Вот тут затык.....

# /usr/local/mysql/bin/mysqladmin -u root password "пароль"
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Тут какая то опция не нра ему:

# ./mysql_install_db --basedir=/usr/local/mysql
Installing MySQL system tables...
100804  0:58:23 [Warning] The syntax '--log' is deprecated and will be removed in a future release. Please use '--general_log'/'--general_log_file' instead.
100804  0:58:23 [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in a future release. Please use '--slow_query_log'/'--slow_query_log_file' instead.
100804  0:58:23 [ERROR] /usr/local/mysql/bin/mysqld: unknown option '--skip-bdb'
100804  0:58:23 [ERROR] Aborting

100804  0:58:23 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete


Installation of system tables failed!  Examine the logs in
/var/lib/mysql for more information.

You can try to start the mysqld daemon with:

    shell> /usr/local/mysql/bin/mysqld --skip-grant &

and use the command line tool /usr/local/mysql/bin/mysql
to connect to the mysql database and look at the grant tables:

    shell> /usr/local/mysql/bin/mysql -u root mysql
    mysql> show tables

Try 'mysqld --help' if you have problems with paths.  Using --log
gives you a log in /var/lib/mysql that may be helpful.

Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS.  Another information source are the
MySQL email archives available at http://lists.mysql.com/.

Please check all of the above before mailing us!  And remember, if
you do mail us, you MUST use the /usr/local/mysql/scripts/mysqlbug script!

Еще вот так:

# /usr/local/mysql/bin/mysqld --skip-grant &
[1] 18917
node1:/usr/local/mysql/scripts# 100804  1:00:47 [Warning] The syntax '--log' is deprecated and will be removed in a future release. Please use '--general_log'/'--general_log_file' instead.
100804  1:00:47 [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in a future release. Please use '--slow_query_log'/'--slow_query_log_file' instead.
100804  1:00:47 [ERROR] Error message file '/usr/share/mysql/english/errmsg.sys' had only 641 error messages,
but it should contain at least 644 error messages.
Check that the above file is the right version for this program!
100804  1:00:47 [Note] Plugin 'FEDERATED' is disabled.
100804  1:00:48  InnoDB: Started; log sequence number 0 44233
100804  1:00:48 [Note] NDB: NodeID is 4, management server '10.10.10.10:1186'
100804  1:00:49 [Note] NDB[0]: NodeID: 4, all storage nodes connected
100804  1:00:49 [Note] Starting Cluster Binlog Thread
100804  1:00:49 [ERROR] /usr/local/mysql/bin/mysqld: unknown option '--skip-bdb'
100804  1:00:49 [ERROR] Aborting

100804  1:00:49 [Note] Stopping Cluster Utility thread
100804  1:00:50 [Note] Stopping Cluster Binlog
100804  1:00:50  InnoDB: Starting shutdown...
100804  1:00:54  InnoDB: Shutdown completed; log sequence number 0 44233
100804  1:00:54 [Note]

[1]+  Exit 2                  /usr/local/mysql/bin/mysqld --skip-grant
node1:/usr/local/mysql/scripts#

Все торба....выручайте!
Надо дополнительно устанавливать mysql-client или mysql-server?

Неактивен

 

#49 03.08.2010 17:29:23

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL кластер и|или репликация

Что же мне с Вами делать. Я не буду за Вас настраивать кластер. Правда не буду.
100804  1:00:49 [ERROR] /usr/local/mysql/bin/mysqld: unknown option '--skip-bdb'

Неактивен

 

#50 04.08.2010 10:51:04

borodatych
Завсегдатай
Зарегистрирован: 14.07.2010
Сообщений: 28

Re: MySQL кластер и|или репликация

Спасибо за понимание и терпение!
Проблема была в том что было много разных и в разных местах файлов my.cnf
Все это от разных способов настроек с разных источников. Читайте родные маны.
На mysql.com все есть! Как и писал paulus. Начинайте от туда.
Не наступайте на мои грабли, проверьте: find / | grep my.cnf
                                                                                         ...для вновь пришедших...
Пока все. Продолжаю обкатку...

Отредактированно borodatych (04.08.2010 10:54:44)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson