لیست کردن تمامی دیتابیس‌ ها در MySQL

 

 

در این مقاله به شما نشان خواهیم داد که چگونه تمام دیتابیس‌های خود را در MySQLلیست نمایید. قبل از شروع عملیات نیاز است که با اکانت root یا اکانتی که با دستور sudo مجوزهای لازم را دارا است استفاده نمایید. زمانی که با استفاده از SSH به سرور خود وصل شدید لازم است کامند زیر را اجرا نمایید تا مطمئن شوید که MySQL بر روی سرور شما نصب شده است و ورژن آن چند است:

mysql -V

خروجی چیزی شبیه به خروجی زیر میباشد:

# mysql -V
mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper

حالا نیاز است با حساب کاربری روت به MySQL متصل شویم:

mysql -u root -p

بعد از آن MySQL از شما می‌خواهد تا پسورد MySQL خود را وارد نمایید تا اجازه دهد به دیتابیس دسترسی داشته باشید. اگر برای حساب کاربری root خود رمزی درذ نظر نگرفته‌اید با دستور زیر می‌توانید وارد اسن بخش شوید:

mysql -u root

اگرچه پیشنهاد ما همیشه این است که با استفاده از رمز و گذرواژه مناسب سرویس‌های خود را امن نگاه دارید برای این منظور می‌توانید از mysql_secure_installation اقدام به قرار دادن رمز عبور نمایید. بعد از اجرای این دستور با فرمی مانند فرم زیر مواجه می‌شوید که باید به سوال امنیتی آن پاسخ دهید.

Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: y

Please set the password for root here.
New password:

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

All done!

حالا دوباره با استفاده از کامند اتصال به MySQL و پسورد جدیدیتان به MySQL وصل شوید.

حالا برای لیست کردن تمام دیتابیس‌های MySQL خود از کامند زیر استفاده نمایید این دستور هم در VPS هایی با سیتم‌عامل ابنتو و هم CentOS برای شما کار خواهد نمود:

mysql> show databases;

خروجی این دستور چیزی شبیه به خروجی زیر است:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

این دستور تمام دیتابیس‌های شما را لیست خواهد نمود، اما اگر می‌خواهید تمام جداول یا تیبل‌های یک دیتابیس را لیست کنید باید از دستور زیر استفاده نمایید.

mysql> use mysql;

برای لیست کردن جداول می‌توانید از کامند زیر استفاده نمایید:

mysql> show tables

خروجی چیزی شبیه به خروجی زیر خواهد بود:

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
32 rows in set (0.00 sec)

حالا اگر نیاز دارید تا درمورد ساختار خاص یک جدول اطلاعات بیشتری بدست آورید می‌توانید از دستور زیر استفاده نمایید:

mysql> DESCRIBE user;