মাইএসকিএল ইনোডব: ইনোডিবি: এরিআরআর: শেষ চৌকিটির বয়স ইনোডিবি: যা লগ গ্রুপের ক্ষমতা ছাড়িয়েছে


25

আমার সত্যিই কিছু মাইএসকিএল এক্সপেরিমাইজ দরকার। আমি মাইএসকিএল-তে একটি নতুন এবং আমি গত 1 সপ্তাহে আমার ডিবি-র কিছু সার্ভার ক্র্যাশ দেখছি।

আমি উবুন্টুতে 5.1.36 মাইএসকিএল ব্যবহার করছি। এটি ডুয়াল কোর এবং 4 জিবি মেমরি এবং 40 জিবি এসএসডি সহ একটি ডেডিকেটেড মাইএসকিএল সার্ভার।

লগ ত্রুটিগুলি হ'ল:

120413 23:57:15 [Note] Plugin 'FEDERATED' is disabled.
120413 23:57:15 [Warning] option 'innodb-autoextend-increment': unsigned value 2000 adjusted to 1000
120413 23:57:15  InnoDB: Initializing buffer pool, size = 2.9G
120413 23:57:15  InnoDB: Completed initialization of buffer pool
120413 23:57:16  InnoDB: Started; log sequence number 0 44234
120413 23:57:16 [Note] Event Scheduler: Loaded 0 events
120413 23:57:16 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.58-1ubuntu1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
120414  0:00:25 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=e2-relay-bin' to avoid this problem.
120414  0:00:25 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='', master_port='3306', master_log_file='', master_log_pos='4'. New state master_host='', master_port='3306', master_log_file='mysql-bin.000043', master_log_pos='87039427'.
120414  0:58:37 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='', master_port='3306', master_log_file='mysql-bin.000043', master_log_pos='87039427'. New state master_host='', master_port='3306', master_log_file='mysql-bin.000043', master_log_pos='87846901'.
120414  2:20:34  InnoDB: ERROR: the age of the last checkpoint is 241588252,
InnoDB: which exceeds the log group capacity 241588224.
InnoDB: If you are using big BLOB or TEXT rows, you must set the   
InnoDB: combined size of log files at least 10 times bigger than the
InnoDB: largest such row.

My.cnf নীচে হিসাবে আছে।

default-storage-engine=innodb
default-table-type=innodb
key_buffer              = 384M
max_allowed_packet      = 64M
thread_stack            = 256K
thread_cache_size       = 16
max_heap_table_size     = 64M
myisam_sort_buffer_size = 64M
join_buffer_size        = 8M
read_buffer_size        = 2M
read_rnd_buffer_size    = 8M
sort_buffer_size        = 3M
tmp_table_size          = 64M
# Innodb changes
innodb_additional_mem_pool_size = 16M
innodb_autoextend_increment     = 2000
innodb_buffer_pool_size         = 3000M #As current Db is around 1.2G.
innodb_file_per_table
innodb_data_file_path           = ibdata1:512M;ibdata2:512M:autoextend
innodb_flush_log_at_trx_commit  = 2 #For more reliablity use 1
innodb_flush_method             = O_DIRECT
innodb_log_buffer_size          = 8M
innodb_log_file_size            = 128M #Transaction Log up to 1/4 Buffer Pool
innodb_thread_concurrency       = 16
#innodb_force_recovery          = 2
#innodb_read_io_threads         = 8
#innodb_write_io_threads                = 8
innodb_lock_wait_timeout        = 50
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
max_connections        = 400
table_cache            = 1024M
thread_concurrency     = 16

আমি পরিবর্তন করতে পারেন কোন পরামর্শ।


দুঃখিত ... প্রথম কয়েকটি লাইন মুছে গেছে।
TheVyom

আপনি যদি পারেন তবে নিজের পক্ষে করুন এবং মাইএসকিউএল এর একটি নতুন সংস্করণ ব্যবহার করুন। 5.1.38 প্রাচীন। কমপক্ষে একটি সাম্প্রতিক 5.1 প্রকাশে আপগ্রেড করুন, যদি পারেন 5.5 না করে।
হারুন ব্রাউন

উত্তর:


26

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

  • যে কোনও বড় BLOB বা পাঠ্য ক্ষেত্র একত্রিত করুন
  • বড় লেনদেন ধরে রাখা ing

এটি আপনাকে সাহায্য করে কিনা তা দেখার জন্য আপনার এখনই যা করা উচিত তা এখানে:

পদক্ষেপ 01) /etc/my.cnf এ নিম্নলিখিত পরিবর্তন করুন

[mysqld]
innodb_log_buffer_size          = 32M
innodb_buffer_pool_size         = 3G
innodb_log_file_size            = 768M

পদক্ষেপ 02) service mysql stop

পদক্ষেপ 03) rm -f /var/lib/mysql/ib_logfile*

পদক্ষেপ 04) service mysql start

এটি নিম্নলিখিত ফাইলগুলি পুনর্নির্মাণ করবে

  • / Var / lib / MySQL / ib_logfile0
  • / Var / lib / MySQL / ib_logfile1

একবার চেষ্টা করে দেখো !!!

আপডেট 2013-07-03 12:37 ইডিটি

আমি এটিতে আমার অন্যান্য পোস্টগুলি আপডেট করেছি এবং এটি একটি মিস করেছি

বাটলটুকাস কেবলমাত্র মন্তব্য করেছেন2013-07-03 07:18:56 EDT

আইবি_লগফিল * মুছে ফেলার আগে ব্যাকআপের জন্য অন্য কোনও জায়গায় কপি করা ঠিক হবে না?

যেহেতু ভিতরে অসম্পূর্ণ লেনদেনের ডেটা থাকতে পারে, তাই করা উচিত

পদক্ষেপ 01) /etc/my.cnf এ নিম্নলিখিত পরিবর্তন করুন

[mysqld]
innodb_log_buffer_size          = 32M
innodb_buffer_pool_size         = 3G
innodb_log_file_size            = 768M

পদক্ষেপ 02) mysql -uroot -p -e "SET GLOBAL innodb_fast_shutdown = 0;"

পদক্ষেপ 03) service mysql stop

পদক্ষেপ 04) rm -f /var/lib/mysql/ib_logfile*

পদক্ষেপ 05) service mysql start

আমি যোগ SET GLOBAL innodb_fast_shutdown = 0;। এটা কি করে? এটি InnoDB- কে লেনদেনের লগগুলি (আই_ব্লগফাইল0, ইব_লগফিল 1) সহ সমস্ত ইনোডিবি চলন্ত অংশগুলি থেকে সম্পূর্ণরূপে লেনদেনের পরিবর্তনগুলি মুছে ফেলতে বাধ্য করে। সুতরাং, পুরানো ib_logfile0, ib_logfile1 ব্যাকআপ করার প্রয়োজন নেই। এগুলি মুছে ফেলা যদি আপনাকে নার্ভাস করে তোলে তবে পদক্ষেপ 04 করুন

mv /var/lib/mysql/ib_logfile* ..

পুরানো লগ ইন করতে /var/lib। যদি লগগুলির বিনোদন সফল হয় এবং মাইএসকিএলডি শুরু হয়, তবে আপনি পুরানো লগগুলি মুছতে পারেন।

আমি এই বৈশিষ্ট্যটি এখন এক বছর ধরে ব্যবহার করছি। এটি প্রতিফলিত করতে আমি আমার অন্যান্য পোস্টগুলি আপডেট করেছি ...

আমার যদি আরও পুরানো পোস্টগুলি থাকে যেখানে আমি ইনডোড_ফেষ্ট_সুটডাউনের উল্লেখ না করি তবে আমাকে জানাতে যাতে আমি এটি আপডেট করতে পারি। ধন্যবাদ আবার, ButtleButkus


লগ ফাইলটি 256 এম-তে বাড়িয়েছে এবং বাফার_পুল_সাইজ 2 জি কমিয়েছে বলে মনে হচ্ছে এই কৌশলটি করা হচ্ছে।
TheVyom

আমার উত্তর সাহায্য করেছে ???
RolandoMySQLDBA

দুঃখিত এটি আপডেট করতে ভুলে গেছেন। এটি অনেক সহায়তা করেছে এবং আমাদের সার্ভার গত 1 মাস থেকে কোনও সমস্যা ছাড়াই চলছে।
TheVyom

আইব_লগফাইল * মুছে ফেলার আগে ব্যাকআপের জন্য অন্য কোনও স্থানে অনুলিপি করা কি ঠিক হবে না?
বাটাল বাটকাস

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