ലിനക്സിലെ ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേഷനുള്ള 20 MySQL (Mysqladmin) കമാൻഡുകൾ
MySQL സെർവറിനൊപ്പം വരുന്ന ഒരു കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റിയാണ് mysqladmin, റൂട്ട് പാസ്uവേഡ് സജ്ജീകരിക്കുക, റൂട്ട് പാസ്uവേഡ് മാറ്റുക, mysql പ്രക്രിയകൾ നിരീക്ഷിക്കുക, പ്രത്യേകാവകാശങ്ങൾ പരിശോധിക്കുക, സെർവർ നില പരിശോധിക്കുക തുടങ്ങിയ ചില അടിസ്ഥാന MySQL ജോലികൾ എളുപ്പത്തിൽ നിർവഹിക്കുന്നതിന് ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാർ ഇത് ഉപയോഗിക്കുന്നു.
ഈ ലേഖനത്തിൽ, സിസ്റ്റം/ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാർ അവരുടെ ദൈനംദിന പ്രവർത്തനങ്ങളിൽ ഉപയോഗിക്കുന്ന വളരെ ഉപയോഗപ്രദമായ ചില 'mysqladmin' കമാൻഡുകൾ ഞങ്ങൾ സമാഹരിച്ചിരിക്കുന്നു. ഈ ജോലികൾ നിർവഹിക്കുന്നതിന് നിങ്ങളുടെ സിസ്റ്റത്തിൽ MySQL സെർവർ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം.
നിങ്ങൾക്ക് MySQL സെർവർ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിലോ MySQL സെർവറിന്റെ പഴയ പതിപ്പാണ് നിങ്ങൾ ഉപയോഗിക്കുന്നെങ്കിലോ, ഞങ്ങളുടെ ചുവടെയുള്ള ലേഖനം പിന്തുടർന്ന് നിങ്ങളുടെ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യാനോ അപ്uഡേറ്റ് ചെയ്യാനോ ഞങ്ങൾ നിങ്ങളോട് ശുപാർശ ചെയ്യുന്നു.
- RHEL/CentOS/Fedora-ൽ MySQL 5.5.28 സെർവറിന്റെ ഇൻസ്റ്റാളേഷൻ
1. MySQL റൂട്ട് പാസ്uവേഡ് എങ്ങനെ സജ്ജീകരിക്കാം?
നിങ്ങൾക്ക് MySQL സെർവറിന്റെ പുതിയ ഇൻസ്റ്റാളേഷൻ ഉണ്ടെങ്കിൽ, അത് റൂട്ട് ഉപയോക്താവായി ബന്ധിപ്പിക്കുന്നതിന് പാസ്uവേഡ് ആവശ്യമില്ല. റൂട്ട് ഉപയോക്താവിനായി MySQL പാസ്uവേഡ് സജ്ജമാക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.
# mysqladmin -u root password YOURNEWPASSWORD
2. MySQL റൂട്ട് പാസ്uവേഡ് എങ്ങനെ മാറ്റാം?
നിങ്ങൾക്ക് MySQL റൂട്ട് പാസ്uവേഡ് മാറ്റാനോ അപ്uഡേറ്റ് ചെയ്യാനോ താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, നിങ്ങളുടെ പഴയ പാസ്uവേഡ് 123456 ആണെന്നും പുതിയ പാസ്uവേഡ് ഉപയോഗിച്ച് അത് മാറ്റണമെന്നും പറയുക xyz123 എന്ന് പറയുക.
mysqladmin -u root -p123456 password 'xyz123'
3. MySQL സെർവർ പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് എങ്ങനെ പരിശോധിക്കാം?
MySQL സെർവർ പ്രവർത്തനക്ഷമമാണോ എന്ന് കണ്ടെത്തുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.
# mysqladmin -u root -p ping Enter password: mysqld is alive
4. ഞാൻ ഏത് MySQL പതിപ്പാണ് പ്രവർത്തിപ്പിക്കുന്നത് എന്ന് എങ്ങനെ പരിശോധിക്കാം?
താഴെ പറയുന്ന കമാൻഡ് നിലവിലെ റണ്ണിംഗ് സ്റ്റാറ്റസിനൊപ്പം MySQL പതിപ്പും കാണിക്കുന്നു.
# mysqladmin -u root -p version Enter password: mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 7 days 14 min 45 sec Threads: 2 Questions: 36002 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059
5. MySQL സെർവറിന്റെ നിലവിലെ നില എങ്ങനെ കണ്ടെത്താം?
MySQL സെർവറിന്റെ നിലവിലെ അവസ്ഥ കണ്ടെത്താൻ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക. mysqladmin കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്ന ത്രെഡുകളും അന്വേഷണങ്ങളും ഉപയോഗിച്ച് പ്രവർത്തന സമയത്തിന്റെ നില കാണിക്കുന്നു.
# mysqladmin -u root -ptmppassword status Enter password: Uptime: 606704 Threads: 2 Questions: 36003 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.059
6. എല്ലാ MySQL സെർവർ വേരിയബിളുകളുടെയും മൂല്യങ്ങളുടെയും നില എങ്ങനെ പരിശോധിക്കാം?
MySQL സെർവർ വേരിയബിളുകളുടെയും മൂല്യങ്ങളുടെയും എല്ലാ പ്രവർത്തന നിലയും പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക. ഔട്ട്പുട്ട് താഴെയുള്ളതിന് സമാനമായിരിക്കും.
# mysqladmin -u root -p extended-status Enter password: +------------------------------------------+-------------+ | Variable_name | Value | +------------------------------------------+-------------+ | Aborted_clients | 3 | | Aborted_connects | 3 | | Binlog_cache_disk_use | 0 | | Binlog_cache_use | 0 | | Binlog_stmt_cache_disk_use | 0 | | Binlog_stmt_cache_use | 0 | | Bytes_received | 6400357 | | Bytes_sent | 2610105 | | Com_admin_commands | 3 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | +------------------------------------------+-------------+
7. എല്ലാ MySQL സെർവർ വേരിയബിളുകളും മൂല്യങ്ങളും എങ്ങനെ കാണും?
MySQL സെർവറിന്റെ പ്രവർത്തിക്കുന്ന എല്ലാ വേരിയബിളുകളും മൂല്യങ്ങളും കാണുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.
# mysqladmin -u root -p variables Enter password: +---------------------------------------------------+----------------------------------------------+ | Variable_name | Value | +---------------------------------------------------+----------------------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | /usr | | big_tables | OFF | | binlog_cache_size | 32768 | | binlog_direct_non_transactional_updates | OFF | | binlog_format | STATEMENT | | binlog_stmt_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | | collation_connection | latin1_swedish_ci | +---------------------------------------------------+----------------------------------------------+
8. MySQL സെർവറിന്റെ പ്രവർത്തിക്കുന്ന എല്ലാ പ്രക്രിയകളും എങ്ങനെ പരിശോധിക്കാം?
ഇനിപ്പറയുന്ന കമാൻഡ് MySQL ഡാറ്റാബേസ് അന്വേഷണങ്ങളുടെ എല്ലാ പ്രവർത്തിക്കുന്ന പ്രക്രിയയും പ്രദർശിപ്പിക്കും.
# mysqladmin -u root -p processlist Enter password: +-------+---------+-----------------+---------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+---------+-----------------+---------+---------+------+-------+------------------+ | 18001 | rsyslog | localhost:38307 | rsyslog | Sleep | 5590 | | | | 18020 | root | localhost | | Query | 0 | | show processlist | +-------+---------+-----------------+---------+---------+------+-------+------------------+
9. MySQL സെർവറിൽ എങ്ങനെ ഒരു ഡാറ്റാബേസ് ഉണ്ടാക്കാം?
MySQL സെർവറിൽ ഒരു പുതിയ ഡാറ്റാബേസ് സൃഷ്ടിക്കുന്നതിന്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ഉപയോഗിക്കുക.
# mysqladmin -u root -p create databasename Enter password:
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18027 Server version: 5.5.28 MySQL Community Server (GPL) by Remi Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | databasename | | mysql | | test | +--------------------+ 8 rows in set (0.01 sec) mysql>
10. MySQL സെർവറിൽ ഒരു ഡാറ്റാബേസ് എങ്ങനെ ഡ്രോപ്പ് ചെയ്യാം?
MySQL സെർവറിൽ ഒരു ഡാറ്റാബേസ് ഡ്രോപ്പ് ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക. 'y' അമർത്തുക സ്ഥിരീകരിക്കാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.
# mysqladmin -u root -p drop databasename Enter password: Dropping the database is potentially a very bad thing to do. Any data stored in the database will be destroyed. Do you really want to drop the 'databasename' database [y/N] y Database "databasename" dropped
11. MySQL പ്രിവിലേജുകൾ എങ്ങനെ റീലോഡ്/റിഫ്രഷ് ചെയ്യാം?
ഗ്രാന്റ് ടേബിളുകൾ റീലോഡ് ചെയ്യാൻ റീലോഡ് കമാൻഡ് സെർവറിനോട് പറയുന്നു. റിഫ്രഷ് കമാൻഡ് എല്ലാ ടേബിളുകളും ഫ്ലഷ് ചെയ്യുകയും ലോഗ് ഫയലുകൾ വീണ്ടും തുറക്കുകയും ചെയ്യുന്നു.
# mysqladmin -u root -p reload; # mysqladmin -u root -p refresh
12. MySQL സെർവർ എങ്ങനെ സുരക്ഷിതമായി ഷട്ട്ഡൗൺ ചെയ്യാം?
MySQL സെർവർ സുരക്ഷിതമായി ഷട്ട്ഡൗൺ ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക.
mysqladmin -u root -p shutdown Enter password:
MySQL സെർവർ ആരംഭിക്കുന്നതിനും/നിർത്തുന്നതിനും നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കാം.
# /etc/init.d/mysqld stop # /etc/init.d/mysqld start
13. ഉപയോഗപ്രദമായ ചില MySQL ഫ്ലഷ് കമാൻഡുകൾ
അവയുടെ വിവരണത്തോടൊപ്പം ഉപയോഗപ്രദമായ ചില ഫ്ലഷ് കമാൻഡുകൾ താഴെ കൊടുക്കുന്നു.
- ഫ്ലഷ്-ഹോസ്റ്റുകൾ: ഹോസ്റ്റ് കാഷെയിൽ നിന്ന് എല്ലാ ഹോസ്റ്റ് വിവരങ്ങളും ഫ്ലഷ് ചെയ്യുക.
- ഫ്ലഷ്-ടേബിളുകൾ: എല്ലാ ടേബിളുകളും ഫ്ലഷ് ചെയ്യുക.
- ഫ്ലഷ്-ത്രെഡുകൾ: എല്ലാ ത്രെഡുകളുടെയും കാഷെ ഫ്ലഷ് ചെയ്യുക.
- ഫ്ലഷ്-ലോഗുകൾ: എല്ലാ വിവര ലോഗുകളും ഫ്ലഷ് ചെയ്യുക.
- ഫ്ലഷ്-പ്രിവിലേജുകൾ: ഗ്രാന്റ് ടേബിളുകൾ റീലോഡ് ചെയ്യുക (റീലോഡ് പോലെ തന്നെ).
- ഫ്ലഷ്-സ്റ്റാറ്റസ്: സ്റ്റാറ്റസ് വേരിയബിളുകൾ മായ്uക്കുക.
# mysqladmin -u root -p flush-hosts # mysqladmin -u root -p flush-tables # mysqladmin -u root -p flush-threads # mysqladmin -u root -p flush-logs # mysqladmin -u root -p flush-privileges # mysqladmin -u root -p flush-status
14. സ്ലീപ്പിംഗ് MySQL ക്ലയന്റ് പ്രോസസിനെ എങ്ങനെ ഇല്ലാതാക്കാം?
ഉറങ്ങുന്ന MySQL ക്ലയന്റ് പ്രോസസ്സ് തിരിച്ചറിയാൻ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.
# mysqladmin -u root -p processlist Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 5 | root | localhost | | Sleep | 14 | | | | 8 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+
ഇപ്പോൾ, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ കിൽ ആൻഡ് പ്രോസസ് ഐഡി ഉപയോഗിച്ച് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.
# mysqladmin -u root -p kill 5 Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 12 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+
നിങ്ങൾക്ക് ഒന്നിലധികം പ്രോസസ്സുകൾ ഇല്ലാതാക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ കോമ ഉപയോഗിച്ച് വേർതിരിക്കുന്ന പ്രോസസ്സ് ഐഡി നൽകുക.
# mysqladmin -u root -p kill 5,10
15. ഒന്നിലധികം mysqladmin കമാൻഡുകൾ ഒരുമിച്ച് പ്രവർത്തിപ്പിക്കുന്നത് എങ്ങനെ?
ഒന്നിലധികം 'mysqladmin' കമാൻഡുകൾ ഒരുമിച്ച് എക്സിക്യൂട്ട് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കമാൻഡ് ഇതുപോലെയായിരിക്കും.
# mysqladmin -u root -p processlist status version Enter password: +----+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+-------+------------------+ | 8 | root | localhost | | Query | 0 | | show processlist | +----+------+-----------+----+---------+------+-------+------------------+ Uptime: 3801 Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003 mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on i686 Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 1 hour 3 min 21 sec Threads: 1 Questions: 15 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.003
16. റിമോട്ട് mysql സെർവർ എങ്ങനെ ബന്ധിപ്പിക്കാം
റിമോട്ട് MySQL സെർവർ കണക്റ്റുചെയ്യാൻ, റിമോട്ട് മെഷീന്റെ IP വിലാസത്തോടുകൂടിയ -h (ഹോസ്റ്റ്) ഉപയോഗിക്കുക.
# mysqladmin -h 172.16.25.126 -u root -p
17. റിമോട്ട് MySQL സെർവറിൽ കമാൻഡ് എങ്ങനെ എക്സിക്യൂട്ട് ചെയ്യാം
റിമോട്ട് MySQL സെർവറിന്റെ നില കാണാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് പറയാം, അപ്പോൾ കമാൻഡ് ആയിരിക്കും.
# mysqladmin -h 172.16.25.126 -u root -p status
18. ഒരു സ്ലേവ് സെർവറിൽ MySQL റെപ്ലിക്കേഷൻ എങ്ങനെ ആരംഭിക്കാം/നിർത്താം?
സാൽവ് സെർവറിൽ MySQL റെപ്ലിക്കേഷൻ ആരംഭിക്കുന്നതിന്/നിർത്തുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കുക.
# mysqladmin -u root -p start-slave
# mysqladmin -u root -p stop-slave
19. MySQL സെർവർ ഡീബഗ് വിവരങ്ങൾ ലോഗുകളിൽ എങ്ങനെ സംഭരിക്കാം?
ഇവന്റ് ഷെഡ്യൂളറിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ഉൾപ്പെടെ MySQL ലോഗ് ഫയലിലേക്ക് ഉപയോഗത്തിലുള്ള ലോക്കുകൾ, ഉപയോഗിച്ച മെമ്മറി, അന്വേഷണ ഉപയോഗം എന്നിവയെക്കുറിച്ചുള്ള ഡീബഗ് വിവരങ്ങൾ എഴുതാൻ ഇത് സെർവറിനോട് പറയുന്നു.
# mysqladmin -u root -p debug Enter password:
20. mysqladmin ഓപ്ഷനുകളും ഉപയോഗവും എങ്ങനെ കാണും
myslqadmin കമാൻഡിന്റെ കൂടുതൽ ഓപ്uഷനുകളും ഉപയോഗവും കണ്ടെത്തുന്നതിന് ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ സഹായ കമാൻഡ് ഉപയോഗിക്കുക. ഇത് ലഭ്യമായ ഓപ്ഷനുകളുടെ ഒരു ലിസ്റ്റ് പ്രദർശിപ്പിക്കും.
# mysqladmin --help
ഈ ലേഖനത്തിൽ മിക്കവാറും എല്ലാ 'mysqladmin' കമാൻഡുകളും അവയുടെ ഉദാഹരണങ്ങൾക്കൊപ്പം ഉൾപ്പെടുത്താൻ ഞങ്ങൾ പരമാവധി ശ്രമിച്ചിട്ടുണ്ട്, ഇപ്പോഴും, ഞങ്ങൾക്ക് എന്തെങ്കിലും നഷ്uടമായിട്ടുണ്ടെങ്കിൽ, ദയവായി അഭിപ്രായങ്ങളിലൂടെ ഞങ്ങളെ അറിയിക്കുക, നിങ്ങളുടെ സുഹൃത്തുക്കളുമായി പങ്കിടാൻ മറക്കരുത്.