آمورش repair و optimize دیتابیس در directadmin و سرور های لینوکس

چند روش برای optimize و repair کردن دیتابیس های موجود در سرور لینوکس و directadmin برای شما عزیزان آماده کرده ام . منبع اصلی اموزش ها iranserver.com میباشد.



آموزش دایرکت ادمین .

برای optimize و repair تمامی دیتابیس های موجود در سرور میتوانید تنها با استفاده از دستور زیر بدون نیاز به وارد کردن user و password سرویس mysql خود ، به صروت خودکار شروع به repair و optimize تمامی دیتابیس های موجود میکند .

mysqlcheck -uda_admin -p`grep "^passwd=" /usr/local/directadmin/conf/mysql.conf | cut -d= -f2` --auto-repair --all-databases ; mysqlcheck -uda_admin -p`grep "^passwd=" /usr/local/directadmin/conf/mysql.conf | cut -d= -f2` --optimize --all-databases

برای دریافت نام کاربری و رمز عبور اصلی mysql سرور خود میتوانید ار دستور زیر استفاده کنید :

cat /usr/local/directadmin/conf/mysql.conf

برای repair تمامی دیتابیس های موجود در سرور از دستور :

mysqlcheck -u da_admin -p --auto-repair --all-database

برای optimize تمامی دیتابیس های موجود در سرور از دستور :

mysqlcheck -u root -p --optimize --all-database

توجه داشته باشید 2 دستور بالا نیاز به رمز عبور اصلی mysql دارد که در دستورات بالا نحوه به دست آوردن ان را توضیح دادیم .


برای repair و optimize تنها یک دیتابیس مورد نظر میتوانید از دستور زیر استفاده کنید .

mysqlcheck -u da_admin -p --auto-repair NAMEDB
mysqlcheck -u da_admin -p --optimize DBNAME

چگونه تعمیر table دیتابیس از طریق SSH

توجه داشته باشید Mysql server باید در حال اجرا باشد.
با استفاده از دستور زیر می توانید وضعیت آن را بررسی نمایید:
/etc/init.d/mysql status

اکنون با استفاده از دستور زیر به دیتابیس login میکنیم.
mysql> mysql –u databaseusername –p database password databasename

اکنون دیتابیس مورد نظر که مشکل دارد را بصورت زیر انتخاب می نماییم:
;mysql> use databasename

 


حال با استفاده از دستور زیر بررسی می نماییم که آیا table مورد نظر مشکل دارد یا خیر:
;mysql> check table tablename

اگر پس از اجرای دستور مقدار NULL به عنوان خروجی قرار گرفت یعنی table خراب است در غیر اینصورت مشکلی ندارد.
در صورتی که table مشکل داشت برای تعمیر آن از دستور زیر استفاده می نماییم:

;mysql> repair table tablename

اکنون table شما تعمیر میشود.
 
همچنین میتوانید با استفاده از دستورات زیر در محیط اصلی ssh اعمال optimize , check و repair را یکباره روی کل table ها انجام دهید.
 
برای repair :
mysqlcheck -u username -p --auto-repair dbanem

برای optimize
mysqlcheck -u username -p --optimize dbanem

برای check
mysqlcheck -u username -p --check dbanem

 

mysqlcheck -u da_admin -p --auto-repair --all-database
 
 
علی اکبر سیف زاده
5706 بازدید