মাইএসকিএল শুরু করতে পারে না: ইনোডিবি: ক্র্যাশ সমর্থন করার পরে আপগ্রেড করা সমর্থন করে না


16

আমি হোমব্রিউ ইনস্টল থেকে মাইএসকিউএল চালানোর চেষ্টা করছি, তবে চেষ্টা করার সময় এটি ব্যর্থ হয় mysql.server start

আমার /usr/local/var/mysql/<name>.local.errযেমন পড়ছে, এবং প্রতি কয়েক সেকেন্ডে এই ত্রুটি বার্তা প্রেরণ করে চলেছে।

2018-06-20T20:38:54.6NZ mysqld_safe Logging to '/usr/local/var/mysql/<computer name>.local.err'.
2018-06-20T20:38:54.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2018-06-20T20:38:54.379228Z 0 [System] [MY-010116] [Server] /usr/local/opt/mysql/bin/mysqld (mysqld 8.0.11) starting as process 6271
2018-06-20T20:38:54.383128Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2018-06-20T20:38:54.449869Z 1 [ERROR] [MY-012526] [InnoDB] InnoDB: Upgrade after a crash is not supported. This redo log was created with MySQL 5.7.20. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading.html
2018-06-20T20:38:54.449947Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
2018-06-20T20:38:54.919197Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2018-06-20T20:38:54.919769Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-06-20T20:38:54.919814Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-20T20:38:54.920978Z 0 [System] [MY-010910] [Server] /usr/local/opt/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.11)  Homebrew.
2018-06-20T20:38:54.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/bae.local.pid ended

উত্তর:


17

আমার লগে ঠিক একই ত্রুটি ছিল। শুধু নিপ্পোনসীর উত্তরটি তৈরি করতে।

মাইএসকিউএল এর সমস্ত সংস্করণ সরান (আমার কাছে 5.7.21, 5.7.22 এবং 8.0.11 ছিল):

brew uninstall --force mysql

অপসারণ এবং মেরামত নিশ্চিত করুন :

brew services list এবং তারপর brew doctor

মূল মাইএসকিউএল নামকরণ করুন :

mv /usr/local/var/mysql /usr/local/var/old.mysql

সর্বশেষ মাইএসকিউএল ইনস্টল করুন (বর্তমানে 8.0.11):

brew install mysql

মাইএসকিউএল সুরক্ষিত ইনস্টল :

/usr/local/bin/mysql_secure_installation

আমি প্রথমদিকে এই ত্রুটিটি পেয়েছি: Error: Access denied for user 'dbadmin'@'localhost' (using password: YES)

আমি একটি ব্যবহারকারীর স্তরের কনফিগার ব্যবহার করছি। তাই আমি .my.cnf নামকরণ করে আবারও নিরাপদ ইনস্টল চালিয়েছি

mv /Users/[your username]/.my.cnf /Users/[your username]/old.my.cnf /usr/local/bin/mysql_secure_installation

ইনস্টলের অনুরোধে আমি নিম্নলিখিত অপশনগুলি ইনপুট করি Y, 0, Y, N, N, Y, Y

মাইএসকিউএল ওয়ার্কবেঞ্চ আপগ্রেড করুন এর পরে আমি এখনও মাইএসকিউএল ওয়ার্কবেঞ্চ (জিএ 6.3.10) এর সাথে সংযোগ করতে পারিনি যদিও এটি শেষ পর্যন্ত মাইএসকিউএল শুরু করে বলে মনে হচ্ছে। আমি নিম্নলিখিত ত্রুটি প্রম্পট পেয়েছিলাম।

"প্রমাণীকরণ প্লাগইন 'ক্যাচিং_শ 2_ পাসওয়ার্ড' লোড করা যায় না: dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): চিত্র পাওয়া যায় নি"

এটি সমাধানের জন্য আমি মাইএসকিউএল ওয়ার্কবেঞ্চ 8.0.11 আরসি (বিকাশ প্রকাশের সংস্করণ) ডাউনলোড করেছি। আমি নতুন পাসওয়ার্ড বিধি মেনে চলার আগে আমার কাছে থাকা ব্যবহারকারীদের যুক্ত করতে আমি জিইউআই ব্যবহার করেছি। আমি আরও সুরক্ষিত পাসওয়ার্ড দিয়ে and / .my.cnf আপডেট করেছি এবং নতুন নামকরণ করেছি। তারপরে আমার ডিবি পুনরুদ্ধার করুন।

এই সময়ে আমি সুরক্ষিত ইনস্টলের সময় রুট এবং নতুন পাসওয়ার্ডটি সেটআপ করে ওয়ার্কব্যাঞ্চের সাথে সংযোগ রাখতে সক্ষম হয়েছি।

সাফ করুন (নাম পরিবর্তিত ডিরেক্টরি এবং এর বিষয়বস্তু সরিয়ে ফেলুন):

rm -r /usr/local/var/old.mysql


1
এটি গতকালই মূল পোস্টার দিয়ে পরিষ্কারভাবে স্ব-জবাব দিয়েছিল
জ্যাকগল্ড

4
সম্ভবত এটি ইতিমধ্যে স্ব-জবাব দেওয়া হয়েছিল, তবে আমাদের মধ্যে যারা সঠিকভাবে প্রয়োজনীয় পদক্ষেপগুলি খুঁজছেন তাদের জন্য এ জাতীয় প্রয়োজনীয় বিবরণ সহ নয়।
স্টার্ম

/usr/local/var/mysqlশুরুতে নামকরণের বদলে নামকরণের উদ্দেশ্য কী ? old.mysqlপরিষ্কার করার ধাপের সময় ব্যতীত অন্য কোথাও ব্যবহৃত হয় না। আমি জিজ্ঞাসা করছি কারণ ডাটাবেসগুলি সংরক্ষণ করার সময় মাইএসকিউএল পুনরায় ইনস্টল করা সহায়ক হবে।
ব্যবহারকারী 2763030

আমি এটি করার কারণটি ছিল কেবল পরে যদি আমি কোনও ডেটা চাইতাম। আমার সমস্ত স্থানীয় ডাটাবেসগুলি ছিল / আমাদের উত্পাদনের পরিবেশের ক্লোনস তাই আমি কোনও কিছুই ব্যাক আপ করি নি এবং আপগ্রেড প্রক্রিয়া শেষে কেবল এটি সমস্ত সিঙ্ক করেছি। আমি বিশ্বাস করি আপনি পূর্ববর্তী সংস্করণগুলি থেকে ডাটাবেসগুলি ব্যবহার করতে পারেন যদিও মাইএসকিএল 8 পাসওয়ার্ডগুলির জন্য এনক্রিপশন বিধি আপডেট করেছে। আমি জানি আপনি sha2 এর পরিবর্তে পুরানো লেখক পদ্ধতিটি ব্যবহার করতে আপনার .my.cnf এ একটি লাইন যুক্ত করতে পারেন। দুঃখিত আমি এই অংশে সুপার জ্ঞাতযোগ্য না। আশা করি এটা কাজে লাগবে.
হান্টার

আপনি যদি Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)দৌড়ানোর সময় পান তবে /usr/local/bin/mysql_secure_installationআপনার নিজের মতো আমার মাইএসকিএল সার্ভারটি শুরু করার দরকার হতে পারে। আপনি "mysql.server start" চালিয়ে এটি করতে পারেন।
রিচি থমাস

12

tldr; হোমব্রুয়ের মাধ্যমে মাইএসকিএল-র একটি নতুন সংস্করণ ইনস্টল করা হয়েছিল। পূর্বে ইনস্টল করা সংস্করণে ফিরে যান।

brew switch mysql X.X.XX` and `brew services restart mysql 

পূর্ণ বিবরণ যে আপনি সম্ভবত সঙ্গে MySQL এর একটি নতুন সংস্করণ ইনস্টল হয় brew upgrade। এর আউটপুট পর্যালোচনা brew info mysql। আপনি একাধিক সংস্করণ দেখতে পাবেন।

আমার ক্ষেত্রে, আমি নিম্নলিখিত দুটি দেখতে পেয়েছি:

/usr/local/Cellar/mysql/5.7.17
/usr/local/Cellar/mysql/8.0.11

আমি চেক করেছি mysql --versionএবং নতুন 8.0.11 চলছে।

Homebrew switchকমান্ডটি অন্তর্ভুক্ত করে যা আপনাকে পরিষেবাগুলির মধ্যে ঠিক এমনটি করতে দেয়।

আপনার নিজের সাথে এই সংস্করণটি প্রতিস্থাপন করুন:

brew switch mysql 5.7.17

মাইএসকিএল পুনরায় চালু করুন:

brew services restart mysql

সমস্ত কাজের ক্রমে ফিরে আসা উচিত।


1
এটি ইতিমধ্যে স্ব-উত্তর এবং স্বীকৃত উত্তর থেকে শেষ-উদ্দেশ্যটিতে কীভাবে আলাদা ?
জ্যাকগল্ড 19

4
@ জ্যাকগল্ড উত্তর 167207 আপনাকে আপনার সমস্ত ডাটাবেস সামগ্রী মোছার পরামর্শ দেয়। আমার উত্তরটি brew switchযা ব্যবহার করে তা ব্যবহার করার পরামর্শ দেয় ।
জনস্যাম্পসন

যথেষ্ট ফর্সা। সদুপদেশ. +1
জ্যাকগল্ড

1
ভাল উত্তর. আমার জন্য কাজ করেছেন
কুপুরাজ

1
মাইএসকিএল এর প্রতিটি সংস্করণ আনইনস্টল করার আগে খুব খারাপ আমি এটি পাইনি। এফএমএল
অ্যান্ড্রুথবার

2

আমি দেখে মনে হচ্ছে সমস্যাটি পূর্ববর্তী ইনস্টলেশন ছিল /usr/local/var/mysql

হোমব্রিউয়ের মাধ্যমে আনইনস্টল করার পরে, সরানো /usr/local/var/mysql, চালানো brew doctorএবং হোমব্রিউয়ের মাধ্যমে পুনরায় ইনস্টল করার পরে, সমস্যাটি চলে গেল।


আপনার /usr/local/var/mysqlসমস্ত ডাটাবেস সামগ্রী মুছে ফেলা হবে?
নিকোডেমুজ

পুনঃটুইট
নিপোনস

7
আপনার সম্ভবত এটি হুঁশিয়ারি হিসাবে উজ্জ্বল করা উচিত!
নিকোদেমুজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.