Показаны сообщения с ярлыком mysql. Показать все сообщения
Показаны сообщения с ярлыком mysql. Показать все сообщения

суббота, 24 июля 2010 г.

Slave_IO_State: Reconnecting after a failed master event read

Смотрю как-то криво работала репликация slave c master.

Пишет некоторое время 

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Статус :  Slave_IO_State: Waiting for master to send event


Потом секунд через 5-10 дохнет и уже получаю

Slave_IO_Running: No
Slave_SQL_Running: Yes


В состоянии вижу :

Slave_IO_State: Reconnecting after a failed master event read

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


Рустартую репликаю mysql - 10 секунд нормально, все равботает, потом сбой, репликация сдохла, еще 10 секунд - все работает.


Как решилось: в файле my.cnf есть параметр server-id и если там указан левый id, то вот и получается такая хрень как у меня.

Меняю server-id на правильный, совпадающий в hostname и рестартую mysql и репликацию и все начинает работать отлично.


среда, 30 июня 2010 г.

ERROR 1218 (08S01): Error connecting to master: Lost connection to MySQL server at 'reading initial communication packet', system error: 110

ERROR 1218 (08S01): Error connecting to master: Lost connection to MySQL server at 'reading initial communication packet', system error: 110


Такая ошибка возникает тогда, когда slave не может корректно подключится к мастеру для совершения репликации.


Нужно проверить связь между этими двумя серверами, например даже телнетом на порт, на котором настроена репликация, зачастую это 3306.

вторник, 25 мая 2010 г.

[ERROR] Failed to initialize the master info structure

Подохла репликация, при запуске slave-сервера вылазят сообщения.

Обычный stop slave/start slave не помагает.

Синкаю новые таблицы с мастера, все равно эта ошибка появляется.

(ошибка ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log)

Slave_IO_Running: No
Slave_SQL_Running: No

В итоге все решилось просто:

RESET SLAVE;

и потом запускаю слейв:

start slave;

PS: или где-то было load data from master; между резет и старт, честно не помню.


среда, 9 декабря 2009 г.

Включить mysql low log

Включить логирование медленных запросов MySQL
Работоспособность сервера баз данных сильно зависит от типа и количества запросов, которые пытаются выполнить клиентские приложения. Чтобы "отловить" те запросы, которые приводят к большой загрузке, в MySQL встроен механизм журналирования таких запросов. По анализу лога длительных запросов можно определить, какие из них замедляют работу сервера в целом. Но следует учесть, что на этот вид логов большое влияние оказывает загруженность сервера в целом. Если сервер будет перегружен, в этот журнал попадут даже запросы, которые в обычное время считались бы нормальными в плане производительности.

По умолчанию механизм фиксирования длительных запросов не включен. Для того чтобы его включить, следует в строке инициализации демона MySQL указать параметр --log-slow-queries или log-slow-queries = [путь до лог файла], либо же в конфигурационном файле my.ini (my.cnf) указать в разделе [mysqld] параметр log-slow-queries.

Запостил и сюда

среда, 18 ноября 2009 г.

ERROR 1018 (HY000): Can't read dir of './/' (errno: 13)

При переносе баз базы вылезла такая ошибка.

mysql> use our_database;
Database changed
mysql> show tables;
ERROR 1018 (HY000): Can't read dir of './our_database/' (errno: 13)

Дело в правах.

Проверяем владельца:
#ll /var/lib/mysql/db

drwxrws--T 45 root mysql 4096 Nov 18 19:36 ../

Нам нужно чтобы было
drwxrws--T 45 mysql mysql 4096 Nov 18 19:40 ../

И чтобы всеми файлами в данном каталоге владел mysql из группы mysql :)

chown -R mysql.mysql /var/lib/mysql/db/

понедельник, 2 ноября 2009 г.

Error 1033 - Table './db/table' was created with a different version of MySQL and cannot be read

Жила была одна впска на одном серваке с mysql 5.X. и жилось ей классно там, но ее перенесли на хостинг с mysql 4.1 и похерился на ней RoundCube, и не смогли бедные юзеры забрать свою почту.
В результате обновился СиПанель многострадальная и подропались старые таблицы рукою всевластною, и создались сами новые таблицы, и заработал РоендКьюб, а заодно и похерелись и юзверские пароли, и пришлось слушам их чинить.

В логах присутствовало:
/roundcube/session' was created with a different version of MySQL and cannot be read]

А в браузер он писал:
SERVICE CURRENTLY NOT AVAILABLE!

Error No. [0x01F4]

суббота, 10 октября 2009 г.

Backup mysql из консоли.

Для создания резервной копии базы данных можно воспользоваться утилитой mysqldump, которая доступна через unix shell.

Команда для создания бэкапа:
mysqldump --opt --password=pass database_name > path/to/file.sql

Команда для восстановления бэкапа (при условии, что файл уже лежит на сервере):

mysql --user=user --password=pass database_name < path/to/file.sql

четверг, 24 сентября 2009 г.

посмотреть права поьзователя mysql

Чтобы узнать права пользователя mysql или посмотреть его превилегии делаем слудующее:

mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

To list the privileges granted to the account that you are using to connect to the server, you can use any of the following statements:
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();