چند روش برای 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
با استفاده از دستور زیر می توانید وضعیت آن را بررسی نمایید:
/etc/init.d/mysql status
mysql> mysql –u databaseusername –p database password databasename
;mysql> use databasename
;mysql> check table tablename
اگر پس از اجرای دستور مقدار NULL به عنوان خروجی قرار گرفت یعنی table خراب است در غیر اینصورت مشکلی ندارد.
در صورتی که table مشکل داشت برای تعمیر آن از دستور زیر استفاده می نماییم:
;mysql> repair table tablename
mysqlcheck -u username -p --optimize dbanem
mysqlcheck -u username -p --check dbanem
mysqlcheck -u da_admin -p --auto-repair --all-database