درود به همگی ،چند روش برای 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 سرور خود میتوانید ار دستور زیر استفاده کنید :
برای repair تمامی دیتابیس های موجود در سرور از دستور :کد:cat /usr/local/directadmin/conf/mysql.conf
رای optimize تمامی دیتابیس های موجود در سرور از دستور :کد:mysqlcheck -u da_admin -p --auto-repair --all-database
توجه داشته باشید 2 دستور بالا نیاز به رمز عبور اصلی mysql دارد که در دستورات بالا نحوه به دست آوردن ان را توضیح دادم .کد:mysqlcheck -u root -p --optimize --all-database
برای 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



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