সারণী 'পারফরম্যান্স_সেমি


299

মাইএসকিউএল 5.7.8-আরসি আপগ্রেড করার পরে এবং সার্ভারে লগ ইন করার পরে আমি ত্রুটি পেয়েছি:

Table 'performance_schema.session_variables' doesn't exist

আমি এর কোনও সমাধান খুঁজে পাচ্ছি না। তুমি কি সাহায্য করতে পারো ?


2
আরেকটা. দেখে মনে হচ্ছে আপনার আপগ্রেড সফল হয়নি। আপনি আবার আপগ্রেড প্রক্রিয়াটি (বা) পুনরায় ইনস্টল 5.7.8-rcসংস্করণ এবং ডিবি সম্পূর্ণ ব্যাকআপ থেকে পুনরুদ্ধার করার বিষয়টি বিবেচনা করতে চাইতে পারেন ।
রাহুল

2
mysql_upgradeকোর টেবিল / ডিবিএসে কোনও পরিবর্তন হয়েছে কিনা তা নিশ্চিত করার জন্য আপনি কি ছুটে গেছেন?
মার্ক বি বি

হ্যাঁ, আমি তৈরি করেছি mysql_upgrade, আমি শেষ চেষ্টা করে আবার এটি ইনস্টল করছি। এটি যদি কাজ না করে আমি 5.6 সংস্করণে ডাউনগ্রেড করব
তাজ

28
আমি একই সমস্যাটি সমাধান করেছি, এটি সমাধান করার জন্য, আমি চালনা করছি mysql_upgrade -u root -p --force, তারপরে আমি ডিবি সার্ভারটি পুনরায় চালু করেছি।
রব্রগনম

যদি মাইএসকিএল_আপগ্রেড কমান্ডটি কাজ না করে তবে mysql.performance_schema টেবিলটি দূষিত হয়ে থাকতে পারে। আমাদের এই সমস্যা ছিল সমস্যা সমাধানের জন্য, আমরা কমান্ডটি ব্যবহার করে ডাটাবেস সার্ভারটি সরিয়ে দিয়েছি: apt-get purge mariadb-client-10.1 mariadb- সাধারণ মারিয়াদব-সার্ভার -10.1। এটি সমস্ত ডাটাবেস বাইনারি, কনফিগারেশন এবং ডেটা ফাইল সরিয়েছে। এরপরে আমরা ডাটাবেস সার্ভারটি পুনরায় ইনস্টল করেছি এবং ডেটাবেসগুলি আবার আমদানি করেছি। এর পরে ডাটাবেস সার্ভারটি সমস্যা ছাড়াই চলে
নাদির লতিফ

উত্তর:


227

মাইএসকিএল_আপগ্রেড আমার পক্ষেও কাজ করেছে:

# mysql_upgrade -u root -p --force
# systemctl restart mysqld

শুভেচ্ছা, এমএসজেড


25
আমার মাইএসকিএলডিটি পুনরায় চালু করার দরকার ছিল না ( mysql.server restartযেহেতু আমি ওএস এক্সে হোমব্রিউ ইনস্টল ব্যবহার করছি), তাই এটি সহায়ক ছিল। অন্যথায় আমি সেশন_ভেরিয়েবলগুলির ভুল কাঠামো থাকার বিষয়ে ত্রুটি পেয়েছি।
জেফ্রি বুদ্ধিমান

ওএস এক্স 10.10.5 (ইয়োসেমাইট) এ হোমব্রুয়ের সাথে একই আচরণ। ডেটাবেস লোড করার চেষ্টা করার সময় সিকোয়েল প্রো 1.1 (বিল্ড 4499) এ আপগ্রেড করা ক্র্যাশও ঠিক করে।
উইলিয়াম তারেল

4
Native table 'performance_schema'.'session_variables' has the wrong structure
স্টিফেন

8
আপনি যদি ব্যবহার করে থাকেন তবে আপনি brew servicesনিজের সার্ভারটি পুনরায় চালু করতে পারেন brew services restart mysql
ফ্রেডেরিক কামার

1
এটি আমার পক্ষে কাজ করে না, সঠিক উত্তরটি viq দ্বারা দেওয়া হয়েছে। শুধুমাত্র শো সামঞ্জস্য সক্ষম করতে প্রয়োজন is
kato2

482

@Robregonm কমান্ডটি চালানোর পরে আমি mysql সার্ভারে লগ ইন করতে সক্ষম হয়েছি:

mysql_upgrade -u root -p --force

একটি মাইএসকিউএল সার্ভার পুনঃসূচনা প্রয়োজন।


6
এটা ভাল কাজ করেছে। ধন্যবাদ। আমি জানতে চাই কারণটি কী।
ডিগ্রিও করুন

2
আমি Access denied for user 'root'@'localhost' (using password: YES) while connecting to the MySQL serverসঠিক রুট পাসওয়ার্ড ব্যবহার করার পরেও পাচ্ছি। কোন সাহায্য?? : - /
ষাট

4
@ ষাট বিট বিটটি -p
মাইক মেলর

1
@ নিউভিলনেজারেন আমি সহজ পিএইচপি-র সাথে পরিচিত নই, তবে আপনি যেখানে মাইএসকিএল ইনস্টল হবে তা সন্ধান করতে সক্ষম হবেন এবং তারপরে একটি সিডিএম প্রম্পট খুলুন এবং ডিরেক্টরিটি সেই জায়গায় পরিবর্তন করুন। এখন আপনার কমান্ডটি চালানো উচিত।
মিহাই কারাকোস্টিয়া

4
@ ডিগুয়েজ কারণ হ'ল মাইএসকিউএল এর সংস্করণ আপগ্রেড অভ্যন্তরীণ মেটাডেটার জন্য সংস্করণ বেমানান স্কিমার প্রবর্তন করেছে। আমার জন্য আমি মাইএসকিউএল 5.6 কে মাইএসকিউএল 5.7 এ হোমব্রিউ ব্যবহার করে একটি ম্যাকে আপগ্রেড করছি এবং মাইএসকিউএল ডেটা ডিরেক্টরিটি অপরিবর্তিত ছিল তাই নতুন সংস্করণ মাইএসকিউএল পুরানো অভ্যন্তরীণ মেটাডেটা পড়ছিল তবে কী করতে হবে তা জানা নেই - আমরা এখানে যে ত্রুটিটি দেখেছি তা হ'ল যে ইস্যু একটি প্রকাশ। mysql_upgradeপুনরায় আরম্ভ করার পরে , সমস্ত কিছুই কাজ করেছিল। দেখুন: dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html
ডিভী

110
mysql -u app -p
mysql> set @@global.show_compatibility_56=ON;

অনুযায়ী http://bugs.mysql.com/bug.php?id=78159 আমার জন্য কাজ করেন।


1
এটি আমার জন্য পুরোপুরি কাজ করেন! এবং আমাকে যে
মাইএসকিএল

3
আমি দুঃখিত, এটি কিছুটা ওপেন সাইজের সমাধান: যেমন একটি উড়াল অঙ্কুরের জন্য বাজুকা ব্যবহার করা। এই সামঞ্জস্যতা স্যুইচ আরও অনেক প্রভাব আছে, আপনি তাদের সব নাও চাইতে পারেন।
টুনচে Göncüoğlu

@ টনচে গ্যানসিওলু এই পার্শ্ব প্রতিক্রিয়াগুলির কয়েকটি কী?
কাটজমপলিটন

@ কেটজমোপলিটন এখানে পড়ুন: dev.mysql.com/doc/refman/5.7/en/… । পরিবর্তনগুলি বেশিরভাগ INFORMATION_SCHEMA হ্যান্ডলিং (সুরক্ষা ইত্যাদি) সম্পর্কিত, তবে আরও রয়েছে।
টুনচে Göncüoğlu

এটি আমার জন্যও কাজ করেছিল। আমার কাছে পাওয়া ত্রুটি বার্তাটি মাইএসকিএলডাম্পের। একবার আমি প্রস্তাবিত পরিবর্তনটি মাইএসকিএলডাম্প তৈরি করে ফেললাম। একবার আমার ডাম্প হয়ে গেলে আমি কেবল show_compatibility_56 কে বন্ধ করে ফেলা করি।
ব্রায়ান

23

যেহেতু উপরের উত্তরের কোনও উত্তরই আসলে কী ঘটেছে তা ব্যাখ্যা করে না, তাই আমি সিদ্ধান্ত নিয়েছি এবং এই বিষয়ে আরও কিছু বিবরণ আনব।

হ্যাঁ, সমাধানটি মাইএসকিউএল আপগ্রেড কমান্ডটি নিম্নরূপে চালানো: mysql_upgrade -u root -p --forceতবে কী হয়েছে?

এই ইস্যুটির মূল কারণ হ'ল দুর্নীতি performance_schema, যা হতে পারে:

  • জৈব দুর্নীতি (ভলিউম যাচ্ছে কাবুম, ইঞ্জিন বাগ, কার্নেল ড্রাইভারের সমস্যা ইত্যাদি)
  • মাইএসকিএল প্যাচ চলাকালীন দুর্নীতি (বিশেষত প্রধান সংস্করণ আপগ্রেডের জন্য মাইএসকিএল প্যাচ চলাকালীন এটি হওয়া শোনা যায় না)
  • একটি সাধারণ "ড্রপ ডাটাবেস কর্মক্ষমতা_সেমিমা" স্পষ্টতই এই সমস্যার কারণ হবে এবং এটি একই লক্ষণগুলি উপস্থাপন করবে যেমন এটি দূষিত হয়েছে if

এই সমস্যা এমনকি প্যাচ করার আগে আপনার ডাটাবেসের উপস্থিত হয়েছে হতে পারে, কিন্তু কি মাইএসকিউএল 5.7.8 উপর ঘটেছে বিশেষভাবে যে পতাকা show_compatibility_56পরিণত হওয়া থেকে তার ডিফল্ট মান পরিবর্তন ONকরতে ডিফল্টরূপে, OFF। এই পতাকাটি বিভিন্ন মাইএসকিউএল ভার্সনে ভেরিয়েবল (সেশন এবং গ্লোবাল) নির্ধারণ এবং পড়ার প্রশ্নের জন্য ইঞ্জিনটি কীভাবে আচরণ করে তা নিয়ন্ত্রণ করে।

মাইএসকিউএল ৫.7+ এর performance_schemaপরিবর্তে এই পরিবর্তনগুলি পড়তে এবং সঞ্চয় করতে শুরু করেছে information_schema, ONএই পরিবর্তনের বিস্ফোরণ ব্যাসার্ধ হ্রাস করতে এবং ব্যবহারকারীদের পরিবর্তনের বিষয়ে জানাতে এবং এটির সাথে অভ্যস্ত হওয়ার জন্য এই পতাকাটি প্রথম প্রকাশিত হিসাবে প্রকাশিত হয়েছিল।

ঠিক আছে, তবে সংযোগ কেন ব্যর্থ হয়? কারণ আপনি যে ড্রাইভারটি ব্যবহার করছেন (এবং এটির কনফিগারেশন) তার উপর নির্ভর করে এটি ডাটাবেসে শুরু হওয়া প্রতিটি নতুন সংযোগের জন্য চলমান কমান্ডের সমাপ্ত হতে পারে (যেমন show variables, উদাহরণস্বরূপ)। কারণ এই কমান্ডগুলির মধ্যে একটি দুর্নীতিগ্রস্থ অ্যাক্সেস করার চেষ্টা করতে পারে performance_schema, সম্পূর্ণ সংযোগ পুরোপুরি শুরুর আগেই বাতিল হয়ে যায়।

সুতরাং, সারসংক্ষেপ, আপনি পারে ছিল (এটা অসম্ভব এখন বলতে থাকবে) performance_schemaহয় অনুপস্থিত বা প্যাচিং সামনে ক্ষতিগ্রস্ত হয়েছে। প্যাচটি .8.7.৮ এর পরে ইঞ্জিনটিকে আপনার ভেরিয়েবলগুলি পড়ার জন্য বাধ্য করেছিল performance_schema(পরিবর্তে information_schema, যেখানে পতাকাটি সরে যাওয়ার কারণে এটি এটি পড়ছিল ON)। যেহেতু performance_schemaদূষিত হয়েছিল, সংযোগগুলি ব্যর্থ হচ্ছে।

ডাউনটাইম সত্ত্বেও মাইএসকিউএল আপগ্রেড চালানো সবচেয়ে ভাল পন্থা। পতাকাটি চালু করা একটি বিকল্প, তবে এটি ইতিমধ্যে এই থ্রেডটিতে নির্দেশিত হওয়ায় এটির নিজস্ব প্রভাবগুলির সেট নিয়ে আসে।

উভয়ই কাজ করা উচিত, তবে পরিণতিগুলি বিবেচনা করুন এবং আপনার পছন্দগুলি জানেন :)


1
ধন্যবাদ। লাফিয়ে লাফিয়ে পরিবর্তন আনার আগে আমি ভাবছিলাম যে এই সমস্যাটি কী কারণে হয়েছিল।
কেন ইঙ্গ্রাম

4

এই পদক্ষেপগুলি অনুসরণ করুন -p:

  1. mysql_upgrade -u root
  2. systemctl restart mysqld

আমার একই সমস্যা ছিল এবং এটি কাজ করে!


এইটা কাজ করে! শুধু systemctl restart mysqldকাজ হয়নি।
নিনজা

তারপরে ব্যবহার করুনsystemctl restart mysql
BitDEVil2K16

1

ষাট বিবিট প্রশ্ন হিসাবে, যদি আপনার মাইএসকিএল মূল ব্যবহারকারীকে ভুল কনফিগার করা হয়েছে বলে মনে হয় তবে মাইএসকিএল অফিসিয়াল উত্স থেকে কনফিগার এক্সটেনশনটি ইনস্টল করার চেষ্টা করুন:

https://dev.mysql.com/downloads/repo/apt/

এটি আপনাকে একটি নতুন রুট ব্যবহারকারী পাসওয়ার্ড সেট আপ করতে সহায়তা করবে।

আপনার ভান্ডার (ডিবিয়ান / উবুন্টু) আপডেট করার বিষয়টি নিশ্চিত করুন:

apt-get update

0

আমার সিস্টেমে সমস্যাটি শেষ হয়ে গেল যে এখনও আমার কাছে মাইএসকিএল 5.6 ইনস্টল ছিল এবং তাই ইনস্টলেশন থেকে মাইএসকিএল_আপগ্রেড.এক্স.ই.টির পরিবর্তে 5.7 এর জন্য ডাকা হয়েছিল। নেভিগেট করুন C:\Program Files\MySQL\MySQL Server 5.7\binএবং চালান.\mysql_upgrade.exe -u root


0

যদি, mysql_upgrade -u root -p --forceকমান্ডটি ব্যবহার করার সময় আপনি এই ত্রুটিটি পান:

Could not create the upgrade info file '/var/lib/mysql/mysql_upgrade_info' in the MySQL Servers datadir, errno: 13

sudoকমান্ডের আগে শুধু যোগ করুন । এটি আমার পক্ষে কাজ করেছিল এবং আমি আমার সমস্যার সমাধান করেছি। সুতরাং, এটি: sudo mysql_upgrade -u root -p --force:)


-2

কখনও কখনও mysql_upgrade -u root -p --forceযথেষ্ট বাস্তব হয় না,

দয়া করে এই প্রশ্নের উল্লেখ করুন: সারণী 'পারফরম্যান্স_সেমি

এটি অনুসারে:

  1. ওপেন সেন্টিমিডি
  2. cd [installation_path]\eds-binaries\dbserver\mysql5711x86x160420141510\bin
  3. mysql_upgrade -u root -p --force
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.