Top 20 ví dụ lệnh ‘mysqladmin’ dành cho quản trị viên database trong Linux

Top 20 ví dụ lệnh ‘mysqladmin’ dành cho quản trị viên database trong LinuxCuongquach.com | mysqladmin là một chương trình lệnh tiện ích tích hợp tương tác với MySQL server và thường được quản trị viên sử dụng để thực hiện một số tác vụ cơ bản như: thiết lập mật khẩu root MySQL, theo dõi tiến trình MySQL, phân quyền user, kiểm tra trạng thái máy chủ…..

Trong bài hướng dẫn này, hãy cùng CuongQuach tìm hiểu sự hữu dụng của lệnh mysqladmin thông qua bài viết Top 20 ví dụ lệnh trong MySQL (mysqladmin) dành cho quản trị viên database trong Linux nhé.

top-20-vi-du-lenh-mysqladmin-tren-linux

Có thể bạn quan tâm chủ đề khác
Cài đặt công cụ SQLBuddy trên CentOS quản lý MySQL
Cài đặt MariaDB 10.2 trên CentOS 7
Cấu hình thời gian khu vực timezone của dịch vụ MySQL
Fix lỗi ‘MySQL has gone away’ khi import database
Sự khác biệt giữa 2 tiến trình ‘mysqld’ và ‘mysqld_safe’

1. Đặt mật khẩu root MySQL

Nếu bạn mới cài đặt dịch vụ MySQL server thì thường chưa có bất kỳ thiết lập mật khẩu nào dành cho user root của MySQL (user này khác với user root trong Linux của bạn nha). Để đặt mật khẩu MySQL khi mới cài đặt xong, bạn sử dụng lệnh sau.

# mysqladmin -u root password YOURNEWPASSWORD

2. Thay đổi mật khẩu root MySQL

Nếu đã đặt mật khẩu rồi và bạn muốn đổi mật khẩu mới thì hãy sử dụng lệnh sau nha. Mật khẩu hiện tại là ‘123456‘ còn ‘xyz123‘ là mật khẩu bạn muốn đổi.

# mysqladmin -u root -p123456 password 'xyz123'

3. Check trạng thái MySQL có đang hoạt động hay không

Để xem trạng thái MySQL server đang là up hay down thì bạn sử dụng lệnh sau.

# mysqladmin -u root -p ping
Enter password:
mysqld is alive

4. Kiểm tra version MySQL server mà bạn đang hoạt động

# 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. Kiểm tra tình trạng hiện tại của MySQL server

mysqladmin có thể cho bạn biết thông tin trạng thái uptime, threads và queries cơ bản hiện tại.

# 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. Kiểm tra thông tin của tất cả các biến và giá trị trong MySQL Server

Để kiểm tra tất cả thông tin các biến và giá trị đang hoạt động trên MySQL server, bạn sử dụng lệnh như sau.

# 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. Xem tất cả các biến và giá trị của MySQL server

Để xem được tất cả các biến và giá trị của biến của MySQL server, bạn sử dụng lệnh sau

# 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. Làm sao để kiểm tra tất cả các tiến trình đang hoạt động trên MySQL server?

Lệnh sau đây sẽ hiển thị tất cả các tiến trình (process) đang hoạt động khi MySQL nhận truy vấn.

# 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. Tạo database trong MySQL server

# mysql -u root -p
Enter password:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| databasename       |
| mysql              |
| test               |
+--------------------+
8 rows in set (0.01 sec)
mysql>

10. Làm sao để xóa database

Rất đơn giản luôn nhé.

# 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. Reload/Refesh quyền MySQL

Lệnh reload thông báo cho server reload lại các tables được cấp quyền. Lệnh refresh sẽ flush tất cả các tables và mở lại log file.

# mysqladmin -u root -p reload
# mysqladmin -u root -p refresh

12. Làm sao để tắt MySQL server đúng cách?

Cách tắt như sau mới đúng cách nè, không là database dễ bị crash lắm đó.

# mysqladmin -u root -p shutdown
Enter password:

Hoặc bạn cũng có thể tắt như sau:

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

13. Vài lệnh flush MySQL hữu ích

Đây là vài lệnh flush hữu ích kèm theo mô tả của chúng.
flush-hosts: flush tất cả thông tin host từ host cache.
flush-tables: flush tất cả tables.
flush-threads: flush tất cả threads cache.
flush-logs: flush tất cả thông tin log.
flush-privileges: tải lại quyền của tables (giống reload).
flush-status: xóa trạng thái của các biến.

# 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. Làm thế nào để kill các tiến trình MySQL client trong trạng thái sleeping

Đầu tiên bạn phải tìm xem ID của tiến trình sleep này là bao nhiêu.

# 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 |
+----+------+-----------+----+---------+------+-------+------------------+

Bây giờ xác định được là ID = 5 rồi đúng không, bạn kill process này như sau:

# mysqladmin -u root -p kill 5
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Nếu bạn muốn kill nhiều process một lúc thì cách các ID này ra bằng dấu “,” nhé

# mysqladmin -u root -p kill 5,10

15. Làm thế nào để chạy được nhiều lệnh mysqladmin cùng một lúc?

Bạn có thể thực hiện giống như sau nhé, bằng cách đưa nhiều option vào lệnh 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. Connect đến MySQL server remote

Bạn sử dụng option -h (host) đi kèm IP của máy chủ remote như lệnh sau là connect được nha.

# mysqladmin -h 192.168.1.14 -u root -p

17. Thực thi lệnh trên MySQL server remote

# mysqladmin -h 192.168.1.14 -u root -p status

18. Làm thế nào để start/stop MySQL replication trên slave server

# mysqladmin -u root -p start-slave
# mysqladmin -u root -p stop-slave

19. Làm sao để ghi thông tin debug của MySQL server vào log?

Thông tin debug này bao gồm các khóa đang sử dụng, memory sử dụng và query và lệnh sau sẽ ghi các thông tin này vào log cho bạn.

# mysqladmin -u root -p debug
Enter password:

20. Xem thêm các option và cách sử dụng.

Bạn có thể xem thêm các option hữu ích khác cũng như được mô tả các sử dụng thế nào bằng lệnh sau

# mysqladmin --help

Tổng kết

Như vậy là bài hướng dẫn sử dụng lệnh mysqladmin để quản lý cơ bản dịch vụ MySQL đã hoàn tất rồi. Cám ơn các bạn đã theo dõi và đừng quên ủng hộ CuongQuach nhé.

Nguồn: https://cuongquach.com/

Previous articleHội nghị Security Trends 2018
Next articleLộ trình nghiên cứu học Data Scientist và Data Engineer – 2018
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !