گاهی اوقات ممکن است مجبور شوید، اندازه پایگاه‌داده‌ها و جداول MySQL  و MariaDB را برای بهینه‌سازی یا اصلاح آن‌ها بررسی کنید.

در چنین مواقعی باید چگونه عمل کرد؟ آیا گزینه‌ای برای بررسی این موارد از خط فرمان لینوکس وجود دارد؟

بله، همه می‌دانند که در لینوکس همه چیز ممکن است. به عبارت دیگر می‌توان گفت در لینوکس هیچ چیز غیرممکن نیست.

 

از آنجایی‌که پایگاه داده MariaDB تمام داده‌ها را در سیستم‌فایل نگه می‌دارد، بنابراین می‌توانیم با رفتن به پوشه var/lib/mysql/، به راحتی اندازه پایگاه داده ها و جداول را بررسی کنیم.

در مقایسه با روش کوئری زدن به پایگاه‌داده MySQL وMariaDB، اگرچه این روش اندازه دقیقی به شما نمی‌دهد؛ اما این پاسخ تفاوت عمده‌ای با پاسخ کوئری نیز نخواهد داشت.

 

این مطلب نیز ممکن است برای شما مفید باشد: رفع خطای 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)

 

دقت کنید که برای انجام این عمل باید دسترسی root  سیستم را داشته باشید.

بدین صورت تمام اطلاعات پایگاه‌داده در پایگاه‌داده data_schema ذخیره می‌شود، بنابراین می‌توانیم به‌راحتی همه اطلاعات پایگاه‌داده را از پایگاه‌داده data_schema جمع‌آوری کنیم.

ابتدا با استفاده از دستور زیر به پایگاه‌داده MariaDB وارد شده و دستورات زیر را اجرا نمایید.

 mysql -u root -p

در این قسمت از شما کلمه عبور نام کاربری root mysqlدرخواست میشود:

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

 

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

 

مشاهده اندازه پایگاه‌داده MySQL و MariaDB با فرمت MB در لینوکس

برای بدست آوردن اندازه پایگاه‌داده در فرمت MB از دستور زیر استفاده کنید.

MariaDB [(none)]> SELECT table_schema "database", sum(data_length + index_length)/1024/1024 "size in MB" FROM information_schema.TABLES GROUP BY table_schema;
+--------------------+--------------+
| database           | size in MB   |
+--------------------+--------------+
| information_schema |   0.17187500 |
| mysql              |   0.71849060 |
| performance_schema |   0.00000000 |
| testdb             | 107.89165115 |
| testdb1            |   1.67250538 |
+--------------------+--------------+
5 rows in set (0.013 sec)

 

مشاهده اندازه پایگاه‌داده MySQL و MariaDB با فرمت GB در لینوکس

برای بدست آوردن اندازه پایگاه‌داده در فرمت GB از دستور زیر استفاده نمایید.

MariaDB [(none)]> SELECT table_schema "database", sum(data_length + index_length)/1024/1024/1024 "size in GB" FROM information_schema.TABLES GROUP BY table_schema;
+--------------------+----------------+
| database           | size in GB     |
+--------------------+----------------+
| information_schema | 0.000167846680 |
| mysql              | 0.000701650977 |
| performance_schema | 0.000000000000 |
| testdb             | 0.105362940580 |
| testdb1            | 0.001633306034 |
+--------------------+----------------+
5 rows in set (0.012 sec)

 

این مطلب نیز ممکن است برای شما مفید باشد: نحوه بازنشانی کلمه عبور مدیریت وردپرس از طریق MySQL

 

مشاهده اندازه یک پایگاه‌داده خاص MySQL و MariaDB با فرمت MB در لینوکس

برای بدست آوردن اندازه پایگاه‌داده با فرمت MB از دستور زیر استفاده کنید.

MariaDB [(none)]> SELECT table_schema "database", sum(data_length + index_length)/1024/1024 "size in MB" FROM information_schema.TABLES WHERE table_schema='testdb' GROUP BY table_schema;
+----------+--------------+
| database | size in MB   |
+----------+--------------+
| testdb   | 107.89165115 |
+----------+--------------+
1 row in set (0.002 sec)

 

مشاهده اندازه جدول پایگاه‌داده MySQL و MariaDB با فرمت MB در لینوکس

برای بدست آوردن اندازه جدول پایگاه‌داده با فرمت MB از دستور زیر استفاده نمایید.

MariaDB [(none)]> SELECT table_schema AS DB_NAME, TABLE_NAME, (DATA_LENGTH+INDEX_LENGTH)/1024/1024 AS TABLE_SIZE_in_MB FROM information_schema.TABLES;
+--------------------+----------------------------------------------------+------------------+
| DB_NAME            | TABLE_NAME                                         | TABLE_SIZE_in_MB |
+--------------------+----------------------------------------------------+------------------+
| information_schema | ALL_PLUGINS                                        |       0.01562500 |
| information_schema | APPLICABLE_ROLES                                   |       0.00000000 |
| .									                     |
| .									                     |
| information_schema | INNODB_SYS_VIRTUAL                                 |       0.00000000 |
| information_schema | INNODB_MUTEXES                                     |       0.00000000 |
| mysql              | help_topic                                         |       0.40622330 |
| mysql              | help_keyword                                       |       0.10279846 |
| .									                     |
| .									                     |
| mysql              | column_stats                                       |       0.00390625 |
| mysql              | time_zone                                          |       0.00097656 |
| testdb1            | wp_posts                                           |       0.71291733 |
| testdb1            | wp_term_taxonomy                                   |       0.02214050 |
| .									                     |
| .									                     |
| testdb1            | wp_comments                                        |       0.01002884 |
| testdb1            | wp_options                                         |       0.62099075 |
| testdb             | wp_posts                                           |      94.74848175 |
| testdb             | wp_term_taxonomy                                   |       0.43618011 |
| .									                     |
| .									                     |
| testdb             | wp_options                                         |       2.27652359 |
| testdb             | wp_jtrt_tables                                     |       0.00097656 |
| performance_schema | cond_instances                                     |       0.00000000 |
| performance_schema | events_waits_current                               |       0.00000000 |
| .									                     |
| .									                     |
| performance_schema | session_connect_attrs                              |       0.00000000 |
| performance_schema | session_account_connect_attrs                      |       0.00000000 |
+--------------------+----------------------------------------------------+------------------+
197 rows in set (0.012 sec)

 

این مطلب نیز ممکن است برای شما مفید باشد: چگونگی نصب Apche، MySQL و PHP برروی Ubuntu 18.04

 

مشاهده اندازه جدول پایگاه‌داده MySQL و MariaDB با فرمت GB در لینوکس

برای بدست آوردن اندازه جدول پایگاه‌داده با فرمت GB از دستور زیر استفاده کنید.

MariaDB [(none)]> SELECT table_schema AS DB_NAME, TABLE_NAME, (DATA_LENGTH+INDEX_LENGTH)/1024/1024/1024 AS TABLE_SIZE_in_MB FROM information_schema.TABLES;

 

مشاهده اندازه یک جدول پایگاه‌داده خاص MySQL و MariaDB با قالب MB در لینوکس

برای بدست آوردن اندازه جدول پایگاه‌داده در فرمت MB از دستور زیر استفاده نمایید.

MariaDB [(none)]> SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "testdb" ORDER BY (data_length + index_length) DESC;
+--------------------------+-----------+
| Table                    | Size (MB) |
+--------------------------+-----------+
| wp_posts                 |     94.75 |
| wp_postmeta              |      8.11 |
| wp_options               |      2.28 |
| wp_terms                 |      0.83 |
| wp_comments              |      0.58 |
| wp_term_taxonomy         |      0.44 |
| wp_commentmeta           |      0.41 |
| wp_term_relationships    |      0.40 |
| wp_usermeta              |      0.04 |
| wp_gglcptch_whitelist    |      0.03 |
| wp_users                 |      0.01 |
| wp_bpspro_login_security |      0.01 |
| wp_termmeta              |      0.00 |
| wp_ultimatetables        |      0.00 |
| wp_wct_fields            |      0.00 |
| wp_links                 |      0.00 |
| wp_bpspro_mscan          |      0.00 |
| wp_wct_cron              |      0.00 |
| wp_jtrt_tables           |      0.00 |
| wp_wct_relations         |      0.00 |
| wp_wct_setup             |      0.00 |
| wp_bpspro_seclog_ignore  |      0.00 |
| wp_bpspro_db_backup      |      0.00 |
+--------------------------+-----------+
23 rows in set (0.002 sec)

 

این مطلب نیز ممکن است برای شما مفید باشد: برطرف کردن خطای MySQL is running but PID file could not be found

 

مشاهده اندازه پایگاه‌داده MySQL و MariaDB در لینوکس

برای بدست آوردن اندازه پایگاه‌داده در فرمت MB از دستور زیر استفاده کنید.

# du -h --max-depth=1 /var/lib/mysql/
1.3M	/var/lib/mysql/mysql
1.9M	/var/lib/mysql/testdb1
109M	/var/lib/mysql/testdb
8.0K	/var/lib/mysql/performance_schema
232M	/var/lib/mysql/

 

مشاهده اندازه جدول پایگاه‌داده MySQL و MariaDB در لینوکس

برای بدست آوردن اندازه جدول پایگاه‌داده در فرمت MB از دستور زیر استفاده نمایید.

MySQL برای ذخیره اطلاعات از فرمت‌های مختلف از فایل‌ها استفاده می‌کند.

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

MySQL و MariaDB فایل‌هایی با نام Table1.MYD به‌عنوان داده‌های MySQL ،Table1.MYI به‌عنوان فهرست‌های MySQL و Form1.frm به‌عنوان فرمت ایجاد می‌نماید. این فایل‌ها در دایرکتوری قرار می‌گیرند.

# ls -ltrhS /var/lib/mysql/testdb
total 109M
-rw-rw---- 1 mysql mysql 111K Apr  6 10:11 wp_comments.MYI
-rw-rw---- 1 mysql mysql 112K Apr  6 10:11 wp_gglcptch_whitelist.ibd
-rw-rw---- 1 mysql mysql 118K Apr  6 10:11 wp_commentmeta.MYI
-rw-rw---- 1 mysql mysql 135K Apr  6 10:11 wp_term_relationships.MYD
-rw-rw---- 1 mysql mysql 220K Apr  6 10:11 wp_term_taxonomy.MYD
-rw-rw---- 1 mysql mysql 227K Apr  6 10:11 wp_term_taxonomy.MYI
-rw-rw---- 1 mysql mysql 271K Apr  6 10:11 wp_term_relationships.MYI
-rw-rw---- 1 mysql mysql 304K Apr  6 10:11 wp_commentmeta.MYD
-rw-rw---- 1 mysql mysql 376K Apr  6 10:11 wp_terms.MYD
-rw-rw---- 1 mysql mysql 470K Apr  6 10:11 wp_terms.MYI
-rw-rw---- 1 mysql mysql 486K Apr  6 10:11 wp_comments.MYD
-rw-rw---- 1 mysql mysql 600K Apr  6 10:11 wp_postmeta.MYI
-rw-rw---- 1 mysql mysql 1.2M Apr  6 10:11 wp_posts.MYI
-rw-rw---- 1 mysql mysql 2.3M Apr  6 10:11 wp_options.MYD
-rw-rw---- 1 mysql mysql 7.6M Apr  6 10:11 wp_postmeta.MYD
-rw-rw---- 1 mysql mysql  94M Apr  6 10:11 wp_posts.MYD

 

 

منبع:

2daygeek