مثال هایی از کاربرد دستور mysqladmin

mysqladmin دستور مدیریتی پایگاه داده MySQL که در تمامی نسخه های نصب شده در سیستم عامل های گوناگون وجود دارد. با این دستور می توانید پایگاه داده ای را ایجاد/حذف کنید، وضعیت فعلی سیستم پایگاه داده (MySQL Server) را مشاهده کنید، متغیر های وضعیتی سیستم (Status Variable) و متغیر های سیستمی (System Variable) را مشاهده کنید و غیره. در تمامی مثال های زیر از کاربرد این دستور توسط کاربر root به پایگاه داده سرور محلی متصل می شویم. منظور از سرور محلی یعنی پایگاه داده ای که روی همین ماشینی که دستور را اجرا می کنیم. اگر می خواهید به سرور دیگری متصل شوید لازم است که آدرس آنرا توسط سوئیچ h- تعیین کنید.سه سوئیچی که کاربرد فراوان دارند :

  • u- : برای تعیین کاربری که می خواهیم با مجوز های آن به سیستم متصل شویم. (در تمامی مثال های پیش رو، کاربر root می باشد)
  • p- : برای وارد کردن پسورد کاربر تعیین شده توسط سوئیچ u-. پس از Enter زدن دستور mysqladmin یک Prompt برای وارد کردن پسورد نشان داده می شود.

mysqladmin -u USERNAME -h HOSTNAME/IP_ADDRESS OTHER_OPTIONS -p

mysqladmin -u USERNAME -h HOSTNAME/IP_ADDRESS -p OTHER_OPTIONS

mysqladmin -u USERNAME  -p -h HOSTNAME/IP_ADDRESS OTHER_OPTIONS

همانطور که می بینید محل قرارگیری سوئیچ p- تفاوتی ندارد و نهایتا Prompt نشان داده می شود. روش دیگر آوردن پسورد کاربر مورد نظر بلافاصله و بدون هیچ فاصله ای پس از سویچ p- است. در این حالت دیگر Prompt نشان داده نمی شود.

mysqladmin -u USERNAME -pUSER_PASSWORD OTHER_OPTIONS

  • h- : برای تعیین سروری که می خواهید به آن متصل شوید. این سوئیچ اختیاری است، مانند دستور بالا که نیاوردیم و به یک پایگاه داده محلی متصل شده ایم.

در ادامه مثال هایی از کاربرد دستور گفته می شود :

  •  تغییر پسورد کاربران توسط دستور mysqladmin

در این مطلب به طور کامل گفته شده است.

  • آیا MySQL Server در حال اجرا شدن است؟

اصطلاحا می گویند که آیا MySQL Server در حال اجرا یا UP می باشد یه نه. توسط دستور زیر و با استفاده از ping بررسی می کنیم.

mysqladmin -u root -p ping

اگر سرور UP باشد خروجی زیر خواهد بود

mysqld is alive

و اگر می خواهید UP بودن سرور راه دور را بررسی کنید :

mysqladmin -u root -p  -h 192.168.204.128 ping

  • پیدا کردن اطلاعاتی از نسخه نصب شده بر روی سیستم

mysqladmin -u root -p version

خروجی زیر مربوط به سیستم عامل ویندوز می باشد :

mysqladmin  Ver 8.42 Distrib 5.1.53, for Win32 on ia32
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          5.1.53-community
Protocol version        10
Connection              localhost via TCP/IP
TCP port                3306
Uptime:                 3 hours 46 min 8 sec

Threads: 1  Questions: 86  Slow queries: 0  Opens: 39  Flush tables: 1  Open tab
les: 0  Queries per second avg: 0.6

  • پیدا کردن وضعیت سروری که به آن با mysqladmin متصل شده اید

خروجی دستور زیر دقیقن مشابه سه خط خروجی بالا می باشد. خروجی دستور زیر اطلاعاتی از مدت زمان up بودن سرور (MySQL Server) و تعداد اتصال ها و غیره را نشان می دهد.

mysqladmin -u root -p status

Uptime: 14067  Threads: 1  Questions: 87  Slow queries: 0  Opens: 39  Flush tables: 1  Open tables: 0  Queries per second avg: 0.6

Uptime : مدت زمان UP بودن سرور MySQL به ثانیه.

Threads : مجموع تعداد اتصال های کلاینت ها به سرور.

Questions : تعداد پرس و جوی های انجام شده در سروراز زمان Startup شدن.

Slow queries : تعداد پرس و جویی های که مدت زمان اجرا شدن آنها بیش از مقدار متغیر long_query_time بوده است.

Opens : تعداد جدول های باز شده توسط سرور.

Flush Tables : چند بار جداول Flush شده اند.

Open tables : تعداد جداول باز شده در پایگاه داده.

  • چگونه متغیر های وضعیتی (Status Variable) و مقادیر کنونی آنها را ببینیم

mysqladmin -u root -p extended-status

دستور پیشین ( مشاهده وضعیت سرور) اطلاعات خود را از این متغیر ها می خواند. بطور مثال برای نشان دادن تعداد پرس و جوی های انجام شده (Questions) مقدار متغیر Queries را می خواند. یا حداکثر تعداد اتصال های همزمان به سرور، در متغیر Connections ذخیره شده است.

  • چگونه متغیر های سیستمی (System Variables) ها و مقادیر آنها را ببینیم

mysqladmin  -u root -p variables

  • پیدا کردن فرایند ها/پرس و جوی های در حال اجرا بر روی سرور

mysqladmin -u root -p processlist

اگر می خواهید هر چند ثانیه یکبار (مثلن هر 5 ثانیه یکبار) خروجی بالا نشان داده شود، دستور زیر را اجرا کنید :

mysqladmin -u root -p processlist -i 5

  • ایجاد یک پایگاه داده

بطور معمول پس از ورود به سرور توسط دستور mysql با دستور زیر یک پایگاه داده جدید می سازیم

CREATE DATABASE DB_NAME

اما با دستور زیر و با کاربری که مجوز ایجاد یک پایگاه داده را دارد نیز می توانید یک Database بسازید

mysqladmin -u root -p create DB_NAME

  • پاک کردن یک پایگاه داده

بطور معمول پس از ورود به سرور توسط دستور mysql با دستور زیر یک پایگاه داده را پاک می کنیم

DROP DATABASE DB_NAME

اما با دستور زیر و با کاربری که مجوز حذف یک پایگاه داده را دارد نیز می توانید یک Database را پاک کنید

mysqladmin -u root -p drop DB_NAME

  • چگونه MySQL Server را بصورت امن Shutdown کنیم

mysqladmin -u root -p shutdown

در سیستم عامل های لینوکسی نیز می توانید با دستور های زیر به ترتیب پایگاه داده زا Shutdown و Start کنید

etc/rc.d/init.d/mysqld stop/

etc/rc.d/init.d/mysqld start/

اگر MySQL Server را Shutdown کنید و بخواهید به آن مصتل شوید، خطای زیر نشان داده می شود :

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’