মাইএসকিউএল সার্ভার বড় স্কেল ফাইল আমদানি করার সময় চলে গেছে


259

আমি পিএইচপিএমআইএডমিনের মাধ্যমে একটি বৃহত স্কয়ার ফাইল আমদানির চেষ্টা করেছি ... তবে এটি ত্রুটি দেখিয়ে চলেছে

'মাই এসকিএল সার্ভার চলে গেছে'

কি করো?


3
সর্বোচ্চ_গোলিত_প্যাকটি এবং অপেক্ষা_সময়ের জন্য আপনার মান কী?
ডিমনোফচোস

1
আপনি দ্বিগুণ করার চেষ্টা করতে পারেন max_allowed_packet। কিছুটা অপরিশোধিত, তবে এটি যদি কাজ করে তবে আপনি একটি বুদ্ধিমান মান খুঁজে পেতে পারেন।
Nanne

1
হাসি কোল জনসনের জন্য ধন্যবাদ। সেটি অসাধারণ ছিল! হাঃ হাঃ হাঃ! :)
এমব্রিনসন

আমি এটি প্রায়ই দেখি, সুযোগে by তবে আমি আবার একই ত্রুটিটি পুনরুত্পাদন করতে পারি না। এবং, সুতরাং বুঝতে পেরেছি যে এটি গতিশীল হতে পারে। কখনও কখনও, যদি ক্লায়েন্ট সার্ভারে অনেকগুলি এসকিউএল প্রেরণ করে (যেমন লুপ থেকে), এটি ঘটতে পারে। এই ত্রুটির প্রকৃত কারণ সন্ধান করা গুরুত্বপূর্ণ। ক্লুটি বের করার জন্য আপনার এসকিউএলগুলির পুনরাবৃত্তি নিদর্শনগুলির জন্য আপনার ক্যোয়ারী লগগুলি চেক করুন।
বিমল পাউদেল

আপনার ডিস্কের স্থান কম থাকলে কখনও কখনও আপনি এটি পাবেন
pramodtech

উত্তর:


376

এখানে যেমন বলা হয়েছে :

মাইএসকিউএল সার্ভারের দুটি সাধারণ কারণ (এবং সংশোধন) চলে গেছে (ত্রুটি 2006):

সার্ভারের সময় শেষ হয়ে গেছে এবং সংযোগটি বন্ধ করে দিয়েছে। কিভাবে ঠিক করবো:

  1. আপনার mysqld এর my.cnf কনফিগারেশন ফাইলটিতে অপেক্ষা_টাইমআউট ভেরিয়েবলটি যথেষ্ট বড় কিনা তা পরীক্ষা করুন। দেবিয়ান: তে sudo nano /etc/mysql/my.cnf, wait_timeout = 600সেকেন্ড সেকেন্ড করুন (ত্রুটি 2006 চলে যাওয়ার পরে আপনি এই মানটিকে টুইঙ্ক / কমিয়ে দিতে পারেন), তারপরে sudo /etc/init.d/mysql restart। আমি চেক করিনি, তবে ওয়েট_টাইমআউটআউটের জন্য ডিফল্ট মানটি প্রায় 28800 সেকেন্ড (8 ঘন্টা) হতে পারে।

  2. সার্ভার একটি ভুল বা খুব বড় প্যাকেট ফেলেছে। যদি মাইএসকিএলডি এমন একটি প্যাকেট পায় যা খুব বড় বা ভুল, এটি ধরে নেয় যে ক্লায়েন্টের সাথে কিছু ভুল হয়েছে এবং সংযোগটি বন্ধ করে দিয়েছে। আপনি my.cnf ফাইলে সর্বোচ্চ_গ্রেট_প্যাক্টের মান বাড়িয়ে সর্বাধিক প্যাকেটের আকার সীমা বাড়িয়ে নিতে পারেন। দেবিয়ান: তে sudo nano /etc/mysql/my.cnf, সেট করুন max_allowed_packet = 64M(ত্রুটি 2006 চলে গেলে আপনি এই মানটিকে টুইঙ্ক / কমিয়ে দিতে পারেন), তারপরে sudo /etc/init.d/mysql restart

সম্পাদনা:

লক্ষ্য করুন যে মাইএসকিউএল বিকল্প ফাইলগুলিতে তাদের কমান্ডগুলি মন্তব্য হিসাবে ইতিমধ্যে উপলব্ধ নেই (উদাহরণস্বরূপ php.ini এর মতো)। তাই আপনি যদি কোন পরিবর্তন / খামচি টাইপ করতে হবে my.cnfঅথবা my.iniতাদের স্থান mysql/dataডিরেক্টরি বা অন্যান্য পাথ কোনো যেমন অপশনের সঠিক গ্রুপ অধীনে [client], [myslqd]ইত্যাদি উদাহরণস্বরূপ:

[mysqld]
wait_timeout = 600
max_allowed_packet = 64M

তারপরে সার্ভারটি পুনরায় চালু করুন। তাদের মানগুলি পেতে, মাইএসকিএল ক্লায়েন্টে টাইপ করুন:

> select @@wait_timeout;
> select @@max_allowed_packet;

72
আমার ক্ষেত্রে এটি সর্বাধিক_মুক্ত_প্যাকেট ভেরিয়েবল। এটি 1 এমবি ডিফল্টতে সেট করা হয়েছিল (আপনি এটি SHOW VARIABLESমাইএসকিউএল কোয়েরি চালিয়ে দেখতে পারেন ) এবং আমি যে ফাইলটি আমদানি করছি তাতে কয়েকটি খুব বড় রেকর্ড ছিল। আমি my.ini ফাইলটি খুললাম (আমি উইন্ডোজ চালিয়ে যাচ্ছিলাম) এবং এর জন্য মানটি সেট করেছিলাম :,max_allowed_packet = 64M মাইএসকিউএল পুনরায় চালু করেছি এবং পুনরায় আমদানি চালিয়েছি
ব্রেন্ট ম্যাটজেল

আমি ওয়েবসিস সহ ডাটাবেসে বড় ফাইলগুলি আপলোড করছিলাম। এটি সাহায্য করেছে, ধন্যবাদ ... :-)
inf3rno

@ ব্রেন্টম্যাটজেল নিশ্চয় সমস্যাটি "মাইএসকিএল চলে গেছে" সমস্যাটির যত্ন নিয়েছিল। ধন্যবাদ!
asprin

2
আমি wait_timeoutলাইনটি খুঁজে পাই না
ওকি এরি রিনালাদি

4
উইন্ডোজের ক্ষেত্রে (জ্যাম্পের সাথে) এটি ছিল আমার.ini ফাইল এবং ইনোডাব_লোক_উইট_টাইমআউট
আনন্দ

98

আমার জন্য এই সমাধানটি কার্যকর হয়নি তাই আমি কার্যকর করেছিলাম

SET GLOBAL max_allowed_packet=1073741824;

আমার এসকিউএল ক্লায়েন্টে।

এটি যদি এমওয়াইএসএকএল পরিষেবা চলমান দিয়ে পরিবর্তন করতে সক্ষম না হয় তবে আপনার পরিষেবাটি বন্ধ করে দেওয়া উচিত এবং "my.ini" ফাইলের পরিবর্তনশীলটি পরিবর্তন করা উচিত।

উদাহরণ স্বরূপ:

max_allowed_packet=20M

1
এটি এমএএমপি (ওএস এক্স) এ আমার জন্য কাজ করেছিল যখন অন্যান্য আরও জনপ্রিয় উত্তর দেয় না। তবে তা কি স্থায়ী?
atwixtor

2
@ এটভিএক্সটার নং, সার্ভারটি আরম্ভ না হওয়া পর্যন্ত এই কাজের মতো ভেরিয়েবলগুলি সেট করা। এবং তারপরে সেগুলি ডিফল্ট মানটিতে পুনরায় সেট করা হয়।
d.raev

1
এটি কৌশলটি করেছে, উইন্ডোজের একটি পরীক্ষার এক্সএএমপিপি মেশিনে আমাকে php.iniফাইলটি (উত্তরটিতে জিবিডি দ্বারা প্রস্তাবিত হিসাবে) এবং মাইএসকিউএল কনফিগারেশন ফাইল উভয়ই সংশোধন my.iniকরতে হয়েছিল it
গ্রুবার

2
আমি যোগ করার পরামর্শ দিচ্ছি যে আপনি বর্তমান আকারটি পরীক্ষা করতে পারবেনSHOW variables LIKE 'max_allowed_packet'
আর্থ

এটি স্থায়ী নয় যে সার্ভারটি পুনরায় চালু হয়ে গেলে (অবশেষে) মানটি পুনরায় সেট হবে তবে এটি কেবল বর্তমান সেশনের জন্য নয়। max_allowed_packetএক ক্লায়েন্টে সেট করা এবং তারপরে .sqlঅন্য সেশনে বড় ফাইলটি আমদানি করা ঠিকঠাক কাজ করবে।
ভোটিডিসিপল

21

আপনি যদি এক্সএএমপিপি-তে কাজ করে থাকেন তবে মাইএসকিউএল সার্ভারটি নিম্নলিখিত পরিবর্তনগুলির সাথে ইস্যুটি দূরে সরিয়ে নিতে পারবেন ..

আপনার my.ini ফাইলটি my.ini অবস্থানটি খুলুন (ডি: am xampp \ mysql \ bin \ my.ini)

নিম্নলিখিত পরিবর্তনশীল মান পরিবর্তন করুন

max_allowed_packet = 64M
innodb_lock_wait_timeout = 500

মোমের জন্য স্যাম্প, সর্বোচ্চ_গোলিত_প্যাকেট = 64 এম
অ্যান্ড্রু

19

আপনি যদি ডিফল্ট মান সহ চলমান থাকেন তবে আপনার মাইএসকিএল কনফিগারেশনটি অনুকূলিত করার জন্য আপনার অনেক জায়গা রয়েছে।

আমি প্রস্তাবিত প্রথম পদক্ষেপটি সর্বোচ্চ_বিহীন_প্যাকেটটি 128 এম তে বাড়ানো।

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

আপনার টাইমআউট মানগুলি মাইএসকিউএল এবং পিএইচপি উভয়ই সামঞ্জস্য করে দেখুন।

আপনি যে ফাইলটি আমদানি করছেন তা কত বড় (ফাইলের আকার) এবং আপনি পিএইচপিএমইএডমিনের পরিবর্তে মাইএসকিএল কমান্ড লাইন ক্লায়েন্ট ব্যবহার করে ফাইলটি আমদানি করতে সক্ষম?


ধন্যবাদ, আমি ইতিমধ্যে 16 এম সেট করে সর্বোচ্চ_গোলিত_প্যাকেট রেখেছি, তারপর এই প্রশ্নটি খুঁজে পেয়ে 32M এ উত্থাপন করে ভেবেছিলাম এটি অবশ্যই যথেষ্ট হবে তবে আপনার উত্তরটি দেখেছি এবং 128 এম অবশ্যই কাজ করবে definitely আমি সংগ্রহ করছি যে * .sQL ফাইলের পুরো এসকিউএল স্টেটমেন্টটি কেবল একটি প্যাকেট হিসাবে বিবেচিত হবে?
এলিজা লিন

8

আপনি যদি ওএস এক্সে এমএএমপি ব্যবহার করে থাকেন তবে আপনাকে max_allowed_packetমাইএসকিউএল-এর টেমপ্লেটে মান পরিবর্তন করতে হবে ।

  1. আপনি এটি এটিকে দেখতে পাচ্ছেন: ফাইল> টেম্পলেট সম্পাদনা করুন> মাইএসকিউএল my.cnf

  2. তারপরে সন্ধান করুন max_allowed_packet, মান পরিবর্তন করুন এবং সংরক্ষণ করুন।


6

আমি এই সংক্ষিপ্ত /etc/mysql/my.cnf ফাইলটি দিয়ে আমার সমস্যাটি সমাধান করেছি:

[mysqld]
wait_timeout = 600
max_allowed_packet = 100M

1
নিশ্চিত করেছে এটি ডাব্লুএএমপি-তে মাইএসকিউএল v5.6.12 এর জন্যও কাজ করে: উইন্ডোজে, "মাইক্রিএলডিড" পংক্তির উপরে "ওয়েট_টাইমআউট" এবং "ম্যাক্স_নিয়েলড_প্যাক্ট" লাইনগুলি যুক্ত করুন: মোড়ক \ বিন \ মাইএসকিএল \ মাইএসকিএল_ভার্সন \ my.ini
ডিন হিউকজোক

ধন্যবাদ @ উদ্যান আমার বছরের পুরনো সমস্যাটি হাহাহা সমাধান করেছেন, আমি এই সেটিংগুলি বিভাগের অধীনে কখনও যোগ করি নি[mysqld]
shivgre

এটি মাইএসকিউএল v5.7 এর জন্য কাজ করে। my-default.ini ডিফল্টরূপে তৈরি করা হয়নি তাই আপনার এটি তৈরি করা দরকার।
রোডল্ফো ভেলাস্কো

5

এটি ঘটতে পারে তার অন্য কারণটি স্মৃতিশক্তি থেকে দূরে চলেছে। / Var / লগ / বার্তাগুলি পরীক্ষা করে দেখুন এবং নিশ্চিত করুন যে মাইকিকিএলডিটি আপনার মেশিনের চেয়ে বেশি মেমরির বরাদ্দের কারণ হিসাবে আপনার মাই সিএনএফ সেট আপ করা নেই।

আপনার মাইএসকিএলডি প্রক্রিয়াটি আসলে কার্নেল দ্বারা হত্যা করতে পারে এবং তারপরে আপনি এটি উপলব্ধি না করেই "Safe_mysqld" প্রক্রিয়াটি দিয়ে পুনরায় শুরু করতে পারেন।

আপনার হেডরুমটি কী তা দেখতে চালানোর সময় শীর্ষটি ব্যবহার করুন এবং মেমরির বরাদ্দটি দেখুন।

my.cnf এটিকে পরিবর্তন করার আগে একটি ব্যাকআপ তৈরি করুন।


এটিই আমার সমস্যা সৃষ্টি করছিল। আমি একটি 1 জিবি সোয়াপ ফাইল যুক্ত করেছি এবং এটি এটি পুরোপুরি ঠিক করে দিয়েছে।
পিকামান্ডার 2

5

যখন আমি 16 জিবি এসকিউএল ফাইলটি আমদানি করেছি তখন আমার এই ত্রুটিটি এবং অন্যান্য সম্পর্কিত ছিল ones আমার জন্য, my.ini সম্পাদনা করা এবং [মাইএসকিএলডি] বিভাগে নিম্নলিখিতগুলি (বিভিন্ন পোস্টের উপর ভিত্তি করে) সেট করা:

max_allowed_packet      = 110M
innodb_buffer_pool_size=511M
innodb_log_file_size=500M
innodb_log_buffer_size = 800M
net_read_timeout        = 600
net_write_timeout       = 600

যদি আপনি উইন্ডোজের অধীনে চলতে থাকেন তবে কন্ট্রোল প্যানেল, পরিষেবাগুলিতে যান এবং মাইএসকিউএল সম্পর্কিত বিশদটি দেখুন এবং আপনি দেখতে পাবেন যে my.ini কোথায়। তারপরে আপনি my.ini সম্পাদনা এবং সংরক্ষণের পরে, মাইএসকিএল পরিষেবাটি পুনরায় চালু করুন (বা কম্পিউটার পুনরায় চালু করুন)।

আপনি যদি হেইডিএসকিউএল ব্যবহার করে থাকেন তবে আপনি এটি ব্যবহার করে কিছু বা সমস্ত সেট করতে পারেন।


2

আমি "ম্যাক্স_গ্ল্যাড_প্যাককেট" 1024 এম এ আপডেট করেছি তবে এটি এখনও কাজ করছে না। দেখা যাচ্ছে যে আমার স্থাপনার স্ক্রিপ্টটি চলছিল:

mysql --max_allowed_packet=512M --database=mydb -u root < .\db\db.sql

আপনি যদি এভাবে এভাবে দান করেন তবে কমান্ড লাইন থেকে স্পষ্টরূপে একটি বড় সংখ্যা নির্দিষ্ট করে দেওয়ার বিষয়ে নিশ্চিত হন।


2

যদি আপনার ডেটাতে ডেটা অন্তর্ভুক্ত থাকে BLOB:

নোট করুন যে কমান্ড লাইন থেকে ডেটা আমদানি করা বিএলএলওবা ডেটাতে কমে গেছে বলে মনে হচ্ছে, এর ফলে 'মাইএসকিউএল সার্ভার চলে গেছে' ত্রুটি।

এটি এড়াতে, mysqldump পুনরায় তৈরি করুন তবে --hex-blobপতাকা সহ:

http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_hex-blob

যা অন্যান্য পাঠ্যের মধ্যে বাইনারি না হয়ে হেক্স মান সহ ডেটা ফাইল লিখবে।

পিএইচপিএমআইএডমিনে "হেক্সাডেসিমাল নোটেশনে বাইনারি কলামগুলি ডাম্প করুন (উদাহরণস্বরূপ," অ্যাবসি "0x616263 হয়ে যায়)" বিকল্পটিও রয়েছে যা দুর্দান্তভাবে কাজ করে।

মনে রাখবেন যে একটি দীর্ঘ-স্থায়ী বাগ রয়েছে (ডিসেম্বর ২০১৫ হিসাবে) যার অর্থ GEOMকলামগুলি রূপান্তরিত হয়নি: মাইএসকিএলডাম ব্যবহার করে জ্যামোত্রি কলামের সাহায্যে একটি টেবিলের ব্যাকআপ রাখুন? সুতরাং পিএইচপিএমইএডমিনের মতো একটি প্রোগ্রাম ব্যবহার করা কেবল একমাত্র কাজ বলে মনে হচ্ছে (উপরে উল্লিখিত বিকল্পটি সঠিকভাবে জিওএম কলামগুলিকে রূপান্তর করে)।


1

যদি এটি ব্যর্থ হতে দীর্ঘ সময় নেয় তবে wait_timeoutচলকটি বড় করুন ।

যদি এটি এখনই ব্যর্থ হয়, max_allowed_packetচলকটি বড় করুন ; এটি এখনও কাজ করে না, নিশ্চিত হয়ে নিন যে কমান্ডটি বৈধ এসকিউএল। আমার কাছে অনাকাঙ্ক্ষিত উক্তি ছিল যা সমস্ত কিছু ছিন্নমূল করে দিয়েছে।

এছাড়াও, যদি সম্ভব হয় তবে একক এসকিউএল কমান্ডের সন্নিবেশের সংখ্যাটি সীমাবদ্ধ রাখার বিষয়ে বিবেচনা করুন, 1000 বলুন You


1

আমি একটি অনুরূপ ত্রুটি পেয়েছি .. এটি খালি my.ini ফাইলটি সমাধান করার জন্য ... এখানে কোনও লাইনে নেই 36 সর্বাধিক অনুমোদিত প্যাকেটের আকারের মান পরিবর্তন করুন। সর্বোচ্চ_নয়েড_প্যাকেট = 20 এম


1

নিশ্চিত করুন যে সিস্টেমডের মতো পরিষেবা পরিচালকদের কারণে মাইএসকিএলডি প্রক্রিয়া পুনরায় আরম্ভ হচ্ছে না।

সেন্টোস 7 নিয়ে আমার এই সমস্যা ছিল vag দেখা গেল এটি সিস্টেমযুক্ত যা প্রতিবার যখন খুব বেশি স্মৃতি নেয় তখন মাইএসকিএলডিএল পরিষেবাটি হত্যা করে।


0

ডেটাবেস অনুলিপি করার সময় আমারও আজ একই ত্রুটি ছিল (মাইএসকিউএল সার্ভার চলে গেছে ...), কিন্তু যখন আমি mysql.server পুনরায় আরম্ভ করার চেষ্টা করলাম তখন আমি ত্রুটি পেয়েছি

ERROR! The server quit without updating PID ...

এটিই আমি এটি সমাধান করেছি: আমি অ্যাপ্লিকেশন / ইউটিলিটিগুলি / খুললাম এবং ক্রিয়াকলাপ মনিটর চালিয়েছি

 quit mysqld

তারপরে ত্রুটিযুক্ত সমস্যাটি সমাধান করতে সক্ষম হয়েছিল

mysql.server restart

0

আমি কিছু বড় গণনা করছি যা দীর্ঘকাল এবং ভারী ডেটা সহ মাইএসকিএল সংযোগের সাথে জড়িত। আমি এই "মাইএসকিএল গো দূরে ইস্যু" এর মুখোমুখি ছিলাম। সুতরাং আমি কোয়েরিগুলিকে অপ্টিমাইজ করার চেষ্টা করেছি কিন্তু এটি আমাকে সাহায্য করে না তবে আমি মাইএসকিএল ভেরিয়েবল সীমাটি বাড়িয়ে দিয়েছিলাম যা ডিফল্টরূপে কম মানতে সেট করা হয়।

ওয়েট_টাইমআউট সর্বাধিক_নেকে_প্যাকেট

আপনার পক্ষে যা উপযুক্ত তা সীমাবদ্ধতার জন্য এটি কোনও নম্বর * 1024 (বাইট) হওয়া উচিত। আপনি ' mysql -u ব্যবহারকারীর নাম - পি ' কমান্ডটি ব্যবহার করে টার্মিনালে লগইন করতে পারেন এবং এই পরিবর্তনশীল সীমাটির জন্য পরীক্ষা করে পরিবর্তন করতে পারেন।


0

GoDaddy হোস্টিং ভাগ করে নেওয়ার জন্য

GoDaddy হোস্টিং অ্যাকাউন্টগুলি ভাগ করে নেওয়ার পরে, পিএইচপি.আইএনআই ইত্যাদি ফাইলগুলি টুইট করা জটিল। যাইহোক, অন্য একটি উপায় আছে এবং এটি কেবল আমার জন্য নিখুঁতভাবে কাজ করেছে। (আমি স্রেফ সাফল্যের সাথে একটি ৩.৮ এমবি। এসকিউএল পাঠ্য ফাইলটি আপলোড করেছি, যার মধ্যে ৩০০০০ টি সারি এবং ১৪৫ টি কলাম রয়েছে। পিএইচপিএমইএডমিনে ইমপোর্ট আমদানিটি ব্যবহার করে, আমি ভয়াবহ মাইএসকিউএল সার্ভারটি ত্রুটি থেকে বিচ্যুত হয়ে গেলাম , এবং আরও কোনও তথ্য পাইনি))

আমি খুঁজে পেয়েছি যে ম্যাট বাচার সঠিক উত্তর ছিল। ম্যাটের মতো, আমি মাইএসকিউএল ডেটাবেসগুলি কামড়ের আকারের অংশগুলিতে রফতানি করা থেকে শুরু করে স্ক্রিপ্টগুলি লিখে ছোট বড় আকারের আমদানি ভাঙার চেষ্টা করেছিলাম। কিন্তু এখানে কি কাজ করেছে:

(1) সিপ্যানেল ---> ফাইল (গোষ্ঠী) ---> ব্যাকআপ

(২ ক) "আংশিক ব্যাকআপস" শিরোনামের
অধীনে ... (২ বি) "একটি মাইএসকিউএল ডাটাবেস ব্যাকআপ ডাউনলোড করুন" এর অধীনে (2
সি) আপনার ডাটাবেস চয়ন করুন এবং একটি ব্যাকআপ ডাউনলোড করুন (এই পদক্ষেপটি ,চ্ছিক, তবে বুদ্ধিমান)

(3a) "2 মাইএসকিউএল ডাটাবেস ব্যাকআপ পুনরুদ্ধার করুন" শিরোনামের অধীনে সরাসরি 2 বি এর ডানদিকে
(3 বি) আপনার স্থানীয় ড্রাইভ থেকে .SQL আমদানি ফাইলটি চয়ন করুন (3
সি) সত্যিকারের সুখ আপনার হবে (শীঘ্রই ....) আমার প্রায় 5 সেকেন্ড

আমি একক টেবিল আমদানি করতে এই পদ্ধতিটি ব্যবহার করতে সক্ষম হয়েছি। আমার ডাটাবেসে অন্য কোনও কিছুই প্রভাবিত হয়নি - তবে উপরোক্ত পদক্ষেপটি (২) এর বিরুদ্ধে রক্ষা করা।

দ্রষ্টব্য:
ক। আপনি যদি একটি। এসকিউএল আমদানি ফাইল তৈরি করবেন তা সম্পর্কে নিশ্চিত না হন তবে একটি টেবিল রফতানি করতে এবং সেই ফাইলের কাঠামোটি সংশোধন করতে phpMyAdmin ব্যবহার করুন।

উত্স: ম্যাট কসাই 2010 নিবন্ধ


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

0

বৃদ্ধি max_allowed_packetযদি সাহায্য না করে।

.sqlসিকুয়েল প্রো এর মাধ্যমে আমার ডাটাবেসে কোনও ফাইল আমদানি করার সময় আমি আপনার মতো একই ত্রুটি পেয়েছিলাম ।

ত্রুটিটি এখনও আপ করার পরেও বজায় max_allowed_packetছিল 512Mতাই আমি এর পরিবর্তে কমান্ড লাইনে আমদানি চালিয়েছি :

mysql --verbose -u root -p DatabaseName < MySQL.sql

এটি নিম্নলিখিত ত্রুটি দিয়েছে:

ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled

আমি একটি দম্পতি সহায়ক স্ট্যাকওভারফ্লো প্রশ্নগুলি পেয়েছি:

আমার ক্ষেত্রে, আমার .sqlফাইলটি কিছুটা দূষিত বা কিছু ছিল। আমরা যে মাইএসকিউএল ডাম্প পেয়েছি সেগুলি দুটি জিপ ফাইলগুলিতে আসে যা একসাথে জড়িত হওয়া এবং তারপরে আনজিপ করা দরকার। আমি মনে করি আনজিপিং প্রাথমিকভাবে বাধা পেয়েছিল, কিছু অদ্ভুত অক্ষর এবং এনকোডিং সহ ফাইলটি রেখে। একটি নতুন মাইএসকিউএল ডাম্প পাওয়া এবং এটি আনজিপিং করা আমার জন্য সঠিকভাবে কাজ করেছে।

অন্যরা যদি জানতে পারে যে max_allowed_packetভেরিয়েবলটি বাড়ানো সাহায্য করছে না, তবে এটি এখানে যুক্ত করতে চেয়েছিলেন ।


0

প্যাকেটের আকার বা সময়সীমা সম্পর্কিত কোনও সমাধানই আমার পক্ষে কোনও পার্থক্য তৈরি করে না। আমার এসএসএল নিষ্ক্রিয় করা দরকার

mysql -u -p -hmyhost.com --disable-ssl db < file.sql

https://dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html


0

আমি একই সমস্যা পেয়েছি

$image_base64 = base64_encode(file_get_contents($_FILES['file']['tmp_name']) );
$image = 'data:image/jpeg;base64,'.$image_base64;
$query = "insert into images(image) values('".$image."')";
mysqli_query($con,$query);

Phpmyadmin- এর \ xampp \ mysql \ bin \ my.ini ফাইলটিতে আমরা কেবল পাই

[mysqldump]
max_allowed_packet=110M

যা কেবল মাইএসকিলডাম্প-রুট-পি ডিবিনেমের জন্য। উপরের কোডটি এর সাথে প্রতিস্থাপন করে আমি আমার সমস্যাটি সমাধান করেছি

max_allowed_packet=110M
[mysqldump]
max_allowed_packet=110M
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.