웹사이트 검색

MYSQL/MariaDB 관리를 위한 20가지 mysqladmin 명령


mysqladminMySQL/MariaDB 서버와 함께 제공되는 명령줄 데이터베이스 관리 유틸리티로, 데이터베이스 관리자가 몇 가지 기본적인 작업을 수행하는 데 사용됩니다. >MySQL 루트 비밀번호 설정, 루트 비밀번호 변경, mysql 프로세스 모니터링, 권한 다시 로드, 데이터베이스 생성/삭제, 서버 상태 확인, 사용 통계 표시, 실행 중인 쿼리 종료 등과 같은 작업.

mysqladmin을 사용하는 명령과 일반 구문은 다음과 같습니다.

mysqladmin [options] command [command-arg] [command [command-arg]] ...

MySQL/MariaDB 서버가 설치되어 있지 않거나 이전 버전의 MySQL 서버를 사용하고 있는 경우 다음을 사용하여 MySQL 버전을 설치하거나 업데이트하는 것이 좋습니다. 다음 기사:

  • RHEL 기반 배포판에 MySQL을 설치하는 방법
  • RHEL 및 Debian 시스템에 MariaDB를 설치하는 방법

이 기사에서는 시스템/데이터베이스 관리자가 일상 업무에서 사용하는 매우 유용한 'mysqladmin' 명령을 컴파일했습니다. 이러한 작업을 수행하려면 시스템에 MySQL/MariaDB 서버가 설치되어 있어야 합니다.

1. MySQL 루트 비밀번호 설정 방법

MySQL/MariaDB 서버를 새로 설치한 경우 루트 사용자로 연결하는 데 비밀번호가 필요하지 않습니다. 루트 사용자의 MySQL 비밀번호를 설정하려면 다음 명령을 사용하세요.

mysqladmin -u root password YOURNEWPASSWORD

경고: mysqladmin을 사용하여 새 MYSQL 비밀번호를 설정하는 것은 취약한 것으로 간주되어야 합니다. 일부 시스템에서는 시스템의 활성 프로세스 상태를 알기 위해 다른 사용자가 실행할 수 있는 ps 명령과 같은 시스템 상태 프로그램에 사용자의 비밀번호가 표시됩니다.

2. MySQL 루트 비밀번호를 변경하는 방법

MySQL 루트 비밀번호를 변경하거나 업데이트하려면 다음 명령을 입력해야 합니다. 예를 들어, 이전 비밀번호가 123456이고 이를 새 비밀번호(예: 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 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			18 min 6 sec

Threads: 6  Questions: 20  Slow queries: 0  Opens: 18  Flush tables: 1  
Open tables: 11  Queries per second avg: 0.018

5. MySQL 서버의 현재 상태를 확인하는 방법

MySQL 서버의 현재 상태를 확인하려면 다음 명령어를 사용하세요. mysqladmin 명령은 실행 중인 스레드쿼리와 함께 가동 시간 상태를 표시합니다.

mysqladmin -u root -p status

Enter password: 
Uptime: 1185  Threads: 6  Questions: 21  Slow queries: 0  Opens: 18  Flush tables: 1
Open tables: 11  Queries per second avg: 0.017

6. MySQL 상태 변수 및 해당 값을 확인하는 방법

MySQL 서버 변수 및 값의 모든 실행 상태를 확인하려면 다음 명령어를 입력하세요. 출력은 아래 출력과 유사합니다.

mysqladmin -u root -p extended-status

Enter password: 
+--------------------------------------------------------------+
| Variable_name                          | Value               |
+--------------------------------------------------------------+
| Aborted_clients                        | 0                   |
| Aborted_connects                       | 2                   |
| Access_denied_errors                   | 2                   |
| Acl_column_grants                      | 0                   |
| Acl_database_grants                    | 0                   |
| Acl_function_grants                    | 0                   |
| Acl_procedure_grants                   | 0                   |
| Acl_package_spec_grants                | 0                   |
| Acl_package_body_grants                | 0                   |
| Acl_proxy_users                        | 2                   |
| Acl_role_grants                        | 0                   |
| Acl_roles                              | 0                   |
| Acl_table_grants                       | 0                   |
| Acl_users                              | 4                   |
| Aria_pagecache_blocks_not_flushed      | 0                   |
| Aria_pagecache_blocks_unused           | 15706               |
| Aria_pagecache_blocks_used             | 0                   |
| Aria_pagecache_read_requests           | 0                   |
| Aria_pagecache_reads                   | 0                   |
| Aria_pagecache_write_requests          | 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             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 20 | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+

9. MySQL 서버에서 데이터베이스를 생성하는 방법

MySQL 서버에 새 데이터베이스를 생성하려면 아래 표시된 명령을 사용하세요.

mysqladmin -u root -p create tecmint
Enter password: 

mysql -u root -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.3.32-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| tecmint |
+--------------------+
4 rows in set (0.001 sec)

10. MySQL 서버에서 데이터베이스를 삭제하는 방법

MySQL 서버에 데이터베이스를 삭제하려면 다음 명령을 사용하세요. 'y'를 눌러 확인하라는 메시지가 표시됩니다.

mysqladmin -u root -p drop tecmint

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 'tecmint' database [y/N] y
Database "tecmint" dropped

11. MySQL 권한을 다시 로드/새로 고치는 방법은 무엇입니까?

reload 명령은 서버에 부여 테이블을 다시 로드하도록 지시하고 refresh 명령은 모든 테이블을 플러시하고 로그 파일을 다시 엽니다.

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

12. MySQL 서버를 안전하게 종료하는 방법

MySQL 서버를 안전하게 종료하려면 다음 명령을 입력하세요.

mysqladmin -u root -p shutdown

Enter password:

다음 명령을 사용하여 MySQL 서버를 시작/중지할 수도 있습니다.

systemctl stop mysqld
systemctl start mysqld
Or
systemctl stop mariadb
systemctl start mariadb

13. 몇 가지 유용한 MySQL 플러시 명령

다음은 설명과 함께 몇 가지 유용한 플러시 명령입니다.

  • flush-hosts: 호스트 캐시에서 모든 호스트 정보를 플러시합니다.
  • flush-tables: 모든 테이블을 플러시합니다.
  • flush-threads: 모든 스레드 캐시를 플러시합니다.
  • flush-logs: 모든 정보 로그를 플러시합니다.
  • flush-privileges: 부여 테이블을 다시 로드합니다(다시 로드와 동일).
  • flush-status: 상태 변수를 지웁니다.

이 명령들을 확인해 보겠습니다.

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. Sleeping 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 |
+----+------+-----------+----+---------+------+-------+------------------+

이제 아래와 같이 kill프로세스 ID를 사용하여 다음 명령을 실행합니다.

mysqladmin -u root -p kill 5

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

여러 프로세스를 종료하려면 아래와 같이 쉼표로 구분하여 프로세스 ID를 전달하세요.

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             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 9  | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
Uptime: 173  Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023
mysqladmin  Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			2 min 53 sec

Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023

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 명령의 추가 옵션과 사용법을 알아보려면 아래와 같이 help 명령을 사용하십시오. 사용 가능한 옵션 목록이 표시됩니다.

mysqladmin --help

우리는 이 문서의 예제와 함께 거의 모든 'mysqladmin' 명령을 포함하기 위해 최선을 다했습니다. 그래도 빠진 것이 있으면 댓글을 통해 알려주십시오. 친구들과 공유하는 것을 잊지 마세요.