Тази вечер ми се случи нещо неприятно с репликацията на MySQL. Реших да добавя нова база към извършващата се репликация към настоящия момент между два сървъра и естествено направих логичното като я добавя по този начин:
binlog_do_db = db1,db2
Оказа се, че това ми счупи цялата текуща репликация. След рестартиране на мастър сървъра db1 спря да пише логове. След първия миг на паника и нерви открих и решението на проблема:
binlog_do_db = db1
binlog_do_db = db2
Надявам се на вас да не ви се налага да правите сихронизация на две бази между master и slave. Не е кой знае какво, но предизвиква неприятни чувства
Ако случайно вършите десетина различни неща и съответно сте толкова разсеяни (да не казвам тъпи като мен) и забравите или не си запишете каква парола сте сетнали на новоинсталирания MySQL можете да си я сетнете на ново по следния начин:
1. Спирате MySQL сървъра
2. Стартирате го с опцията –skip-grant-tables
3. mysql -u root и се логвате без парола
4. UPDATE mysql.user SET Password=PASSWORD(‘НОВАТА-ПАРОЛА’) WHERE User=’root’;
5. Спрете MySQL-a и го пуснете с нормални опции за работа и ще можете да използвате новопоставената си парола