لاندنۍ کرښه: یا د ډاکر لاګونو کې یا د لاګونو سره لارښود کې - ستاسو په تشکیلاتو پورې اړه لري - یوه فایل به څرګند شي چې پکې به ستونزې لرونکي لارښوونې بیان شي.
دلته هغه څه دي چې موږ یې درلودل:
2020-04-03T12:44:19.670831Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2020-04-03T12:44:19.671678Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2020-04-03T12:44:19.671682Z 0 [Warning] [MY-013244] [Server] --collation-server: 'utf8_general_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead.
لکه څنګه چې مخکې یادونه وشوه ، رسمي اسناد د نقلونو سره د MySQL سرورونو تازه کولو مسله پوښي. لاندینۍ کرښه دا ده چې تاسو باید لومړی ټول نقلونه (غلامان) تازه کړئ، ځکه چې MySQL 8 کولی شي د ماسټر نسخه 5.7 څخه نقل کړي. یو څه مشکل پدې حقیقت کې دی چې موږ موډ کاروو ماسټر <-> ماسټر، کله چې ریموټ ماسټر په حالت کې وي یوازې لوستل. دا په حقیقت کې، جنګي ټرافيک د معلوماتو مرکز ته ځي، او دویم یو بیک اپ دی.
ټوپولوژي داسې ښکاري:
اوسمهال باید د نقلونو سره پیل شي د mysql نقل dc 2, د mysql ماسټر DC 2 и mysql replica dc 1، او د mysql ماسټر dc 1 سرور سره پای ته ورسیږئ. د لا ډیر باوري کیدو لپاره ، موږ مجازی ماشینونه ودرول ، د دوی عکسونه یې واخیستل ، او سمدلاسه مخکې له دې چې اپډیټ د کمانډ سره نقل ودروي STOP SLAVE. پاتې تازه معلومات داسې ښکاري:
موږ په تشکیلاتو کې د 3 اختیارونو اضافه کولو سره هر نقل بیا پیل کوو: skip-networking, skip-slave-start, skip-log-bin. حقیقت دا دی چې د ډیټابیس تازه کول د سیسټم میزونو ته د تازه معلوماتو سره بائنری لاګونه رامینځته کوي. دا لارښوونې تضمین کوي چې په ډیټابیس کې به د غوښتنلیک ډیټا کې هیڅ بدلون نه وي، او د سیسټم میزونو تازه کولو په اړه معلومات به په بائنری لاګونو کې شامل نه وي. دا به د بیا تکرار کولو په وخت کې د ستونزو مخه ونیسي.
د کڅوړې نصب کول percona-server-server. دا مهمه ده چې په یاد ولرئ چې د MySQL نسخه 8 کې نه تاسو اړتیا لرئ کمانډ چل کړئ mysqlupgrade د سرور تازه کولو وروسته.
2020-01-14T21:43:21.500563Z 2 [ERROR] [MY-012069] [InnoDB] table: t1 has 19 columns but InnoDB dictionary has 20 columns
2020-01-14T21:43:21.500722Z 2 [ERROR] [MY-010767] [Server] Error in fixing SE data for db1.t1
2020-01-14T21:43:24.208365Z 0 [ERROR] [MY-010022] [Server] Failed to Populate DD tables.
2020-01-14T21:43:24.208658Z 0 [ERROR] [MY-010119] [Server] Aborting
په ګوګل کې د مختلف بریښنالیک لیستونو آرشیفونو څیړنه د دې لامل شوې چې پوه شي چې دا ستونزه د دې له امله رامینځته کیږي. د MySQL بګ. که څه هم دا ډیر احتمال د یوټیلټي بګ دی mysqlcheck и mysqlsh.
دا معلومه شوه چې MySQL هغه طریقه بدله کړه چې دوی د لسیزو ساحو (int، tinyint، او نور) لپاره د معلوماتو استازیتوب کوي، نو mysql-server د دوی ذخیره کولو لپاره بله لاره کاروي. که ستاسو ډیټابیس په پیل کې په 5.5 یا 5.1 نسخه کې و، او بیا تاسو 5.7 ته تازه کړی، بیا تاسو اړتیا لرئ چې دا کار وکړئ OPTIMIZE د ځینو میزونو لپاره. بیا MySQL به د ډیټا فایلونه تازه کړي، د اوسني ذخیره کولو بڼه ته یې لیږدوي.
# dpkg -S /etc/apparmor.d/cache/usr.sbin.mysqld
dpkg-query: no path found matching pattern /etc/apparmor.d/cache/usr.sbin.mysqld
# dpkg -S /etc/apparmor.d/local/usr.sbin.mysqld
dpkg-query: no path found matching pattern /etc/apparmor.d/local/usr.sbin.mysqld
# dpkg -S /etc/apparmor.d/usr.sbin.mysqld
mysql-server-5.7: /etc/apparmor.d/usr.sbin.mysqld
# dpkg -l mysql-server-5.7
rc mysql-server-5.7 5.7.23-0ubuntu0.16.04.1 amd64
دا فایلونه رامینځته شوي کله چې څو کاله دمخه MySQL 5.7 ته لوړیدل او د لرې شوي کڅوړې سره تړاو لري. د فایلونو حذف کول او د اپارمر خدمت بیا پیل کول ستونزه حل کړه:
هر، حتی ساده عملیات کولی شي غیر متوقع ستونزې رامینځته کړي. او حتی د ښه فکر کولو پلان درلودل تل د متوقع پایلې تضمین نه کوي. اوس، زموږ د ټیم هرډول تازه پلانونه د غیر ضروري فایلونو لازمي پاکول هم شامل دي چې ممکن د وروستیو کړنو په پایله کې څرګند شوي وي.