PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آمورش repair و optimize دیتابیس در directadmin و سرور های لینوکس



zartosht
October 23rd, 2013, 10:40
درود به همگی ،چند روش برای 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