جستجو و جایگزین کردن یک عبارت در phpmyadmin

برای جستجو و جایگزین کردن یک عبارت در phpmyadmin ، ( مثلا در وردپرس برای جایگزین کردن یک عبارت قدیمی با یک عبارت جدید در پست های سایت ) از دستور زیر در mysql  بهره ببرید .

اگر مدیریت محتوا یا هدف شما متفاوت می باشد به جای wp-posts نام تیبل و به جای post_content نام ردیف را قرار دهید

 

UPDATE wp_posts SET post_content = REPLACE (
post_content,
'کلمه قدیمی',
'کلمه جدید');

حل مشکل خطای Account Creation Status: failed (Sorry, a mysql database with the name already exists.) در سی پنل

اگر در سی پنل با خطای

Account Creation Status: failed (Sorry, a mysql database with the name already exists.) OR mysql: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory

مواجه شدید به این معنیست که یک دیتابیس با نام اکانت در سرور موجود هست در حالیکه ممکن است در لیست چنین اکانتی نیست یا قبلا اکانت حذف شده است .

ابتدا از whm وارد phpmyadmin شوید . سپس به لیست دیتابیس ها رفته و اگر در آنجا هست دیتابیس را حذف نمایید .

اگر در phpmyadmin قابل رویت نبود در ssh به مسیر زیر بروید

cd /var/lib/mysql

و سپس دستور ls را بزنید تا لیست پوشه ها وفایل ها نمایش داده شود . اگر پوشه ای با آن نام اکانتی که میخواهید بسازید موجود بود پوشه را حذف کنید .

درصورتیکه مشکل همچنان پابرجا بود از دستور زیر در ssh بهره ببرید

ln -s /usr/lib/libncurses.so.5.3 /usr/lib/libncursesw.so.5

رفع خطای Mysql error : Can’t create new tempfile: ‘*.TMD file

برای رفع خطای Mysql error : Can’t create new tempfile: ‘*.TMD file  وقتی رخ داده ، نام تیبل معیوب را در پایین همین خطا درج می کند .

وارد خط فرمان لینوکس شوید ، به قسمتی که دیتابیس هست بروید ( فرضا دیتابیس test_db یک تیبل آن به نام post کرش شده است )

cd var/lib/mysql/test/db

حال دستور زیر را بزنید

myisamchk -r -f  post.MYI

محدود کردن مصرف دیتابیس یک یوزر

گاها رخ داده است که یک یوزر تعداد زیادی پروسه با زمان های اتصال بالا را به خود اختصاص می دهد .

دقت داشته باشید برای محدود کردن این یوزر ابتدا وارد phpmyadmin شده ( در سرور سی پنل با دسترسی root و سرور های دایرکت ادمین با دسترسی da_admin ( پسورد da_admin چیست ؟ )  )

حال بر روی بخش SQL کلیک کرده و خطوط زیر را در آن می توانید درج کنید ( پیش از درج حتما توضیحات را بخوانید ! )  :

<strong><code>GRANT ALL ON customer.* TO 'iranpage_db'@'localhost'</code></strong>
<strong><code>WITH MAX_QUERIES_PER_HOUR 20</code></strong>
<strong><code>MAX_UPDATES_PER_HOUR 10</code></strong>
<strong><code>MAX_CONNECTIONS_PER_HOUR 5</code></strong>
<strong><code>MAX_USER_CONNECTIONS 2;</code></strong>

۱ – به جای iranpage_db ، نام کاربری دیتابیس را وارد کنید

۲- WITH MAX_QUERIES_PER_HOUR  : این مورد برای اجازه حداکثر تعداد کوئری ها در ساعت می باشد .

۳- MAX_UPDATES_PER_HOUR : حداکثر تعداد آپدیت های مجاز در هر ساعت

۴- MAX_CONNECTIONS_PER_HOUR  : حداکثر تعداد کانکشن ها در یک ساعت

۵- MAX_USER_CONNECTIONS  : تعداد کانکشن های همزمان

در تنظیم این موارد دقت داشته باشید چرا که یک سایت متوسط در هر ۱۰ ثانیه حداقل ۵ اتصال به دیتابیس خواهد داشت .

انتقال ، کپی یک تیبل از دیتابیسی به دیتابیس دیگر

۱- وارد phpmyadmin شوید

۲- بر روی دیتابیس مورد نظر کلیک کنید

۳- تیبلی که می خواهید انتقال دهید بر روی آن کلیک کرده

۴- حال بر روی Operations کلیک کنید

۵- اگر می خواهید تیبل را انتقال دهید

در پنجره Move table to  | database.table در کادر اول نام دیتابیس مقصد و در کادر دوم نام تیبل دیتابیس مقصد را درج کنید

بر روی GO بزنید تا تغییرات اعمال شود

اگر می خواهید تیبل کپی شود

در پنجره Copy table to  | database.table در کادر اول نام دیتابیس مقصد و در کادر دوم نام تیبل دیتابیس مقصد را درج کنید

در این پنجره آپشن هایی نظیر کپی کردن ساختار ، کپی کردن اطلاعات + ساختار ، کپی کردن اطلاعات وجود دارد

بر روی GO بزنید تا تغییرات اعمال شود

خروجی گرفتن از یک تیبل خاص در دیتابیس

در این آموزش از دو طریق ( دسترسی یوزر و مدیر سرور ) نحوه خروجی گرفتن از یک تیبل خاص به شما آموزش داده می شود

[list type=”tick”]

  •  دسترسی یوزر :

[/list]

۱-وارد phpmyadmin شوید ،

۲-سپس بر روی نام دیتابیس از ستون سمت چپ کلیک کرده ، تیبل مورد نظر را یافته و بر روی آن کلیک کنید

۳-حال بر روی تب export رفته و خروجی آنرا بگیرید

[list type=”tick”]

  •  دسترسی مدیر سرور:

[/list]

توسط دستور زیر می توانید خروجی تیبل خاص را در فایل TARGET.sql داشته باشید

 

mysqldump -u USER -p DATABASE --tables TABLE > TARGET.sql

که USER ، نام کاربری دیتابیس ، Database نام دیتابیس ، Table ، نام تیبلی که می خواهید خروجی آن گرفته شود و فایل TARGET.sql فایلیست که خروجی در آن ذخیره می شود

پس از اینتر زدن باید پسورد یوزر دیتابیس را وارد نمایید

تغییر انجین دیفالت در mysql

اگر می خواهید به صورت دیفالت انجین دیتابیس هایی که از این پس می سازید myisam باشند وارد my.cnf شوید و سپس خط زیر را بعد از تگ mysql اضافه کنید

default-storage-engine=MYISAM

و اگر می خواهید به صورت دیفالت انجین دیتابیس هایی که از این پس می سازید Innodb باشند

default-storage-engine=InnoDB

ران نشدن سرویس mysql به دلیل کرش innodb

درصورتیکه سرویس Mysql ران نمیشد و با خطای این مواجه شدید

ابتدا /var/lib/mysql رفته و فایل .err را مشاهده کنید ( به خطوط آخر رفته ) و ببینید دلیل ران نشدن کرش شدن innodb هست یا خیر ؟

اگر بود ابتدا دستور زیر را وارد کنید :

ls -l ib_logfile0 ib_logfile1

سپس همچین نتیجه ای به قرار زیر به شما می دهد :

-rw-rw—- 1 mysql mysql 50331648 Sep 13 01:34 ib_logfile1

در حال حاضر حجم فایل ib_ligfile0 ما ۵۰۳۳۱۶۴۸ می باشد ، برای شما هر مقدار که بود از این به بعد به جای این عدد در مراحل بعدی عدد مربوط به سرور خود را وارد کنید

nano /etc/my.cnf

وارد که شدید پس از تگ mysqld خطوط زیر را وارد کنید

innodb_log_file_size=50331648
innodb_force_recovery=6

حال سرویس mysql را ریستارت کنید سرویس Mysql شما ران می شود

دقت نمایید که در این حالت تیبل های InnoDB فقط read only هستند و قابل تغییر و تعمیر نمی باشند ، برای حل مشکل پس از ران شدن باید از دیتابیس ها بک آپ بگیرید و تبدیل به myisam کنید ( آموزش در سایت موجود هست ) و سپس مجدد دیتابیس را جایگذاری کنید

مشکل ران نشدن mysql پس از آپگرید به ورژن ۵٫۶

یکی از مشکلاتی که ممکن است پس از آپرگرید شدن mysql به ورژ۵٫۶ رخ دهد خطا در /usr/sbin/mysqld[] می باشد که متن آن در فایل ارور لاگ واقع در /var/lib/mysql/hostname.err قابل مشاهده هست

برای حل مشکل دستور زیر را جهت انتقال یک سری فایل از پوشه mysql خود انجام دهید

mv /var/lib/mysql/ib* /root/

سپس mysql را ریستارت کنید ، اگر مشکل حل نشد وارد پوشه tmp شوید و محتویات آنرا حذف کنید ، اگر در فایل ارور لاگ موردی از my.cnf نامعتبر شناخته می شود ، آنرا نیز برطرف کنید

پوشه های پیشفرض کانفیگ های پر استفاده در سرور سی پنل

پوشه های سرویس exim در کجا قرار دارند ؟

/etc/exim.conf
/var/log/exim_mainlog
/var/log/exim_rejectlog
/etc/valiases/
/etc/vfilters/
home/username/.forward

پوشه های سرویس mysql در کجا قرار دارند ؟

/root/.my.cnf
/etc/my.cnf
/var/lib/mysql/

پوشه های سرویس apache در کجا قرار دارند ؟

/usr/local/apache/conf/httpd.conf
/usr/local/apache/domlogs/

پوشه های Proftpd در کجا قرار دارند ؟

<code>/etc/proftpd</code><code>.conf</code>
<code>/var/log/xferlog</code>
<code>/etc/proftpd/</code>

پوشه سرویس SSHD در کجا قرار دارد ؟

/etc/ssh/sshd_config

پوشه های system در کجا قرار دارند ؟

/var/log/messages
/var/log/dmesg