본문 바로가기
DataBase/Mysql

MySQL 터미널 접속 및 명령어

by 아우럼 2024. 7. 25.
반응형

MySQL은 Workbench 통해서 접속할 수도 있지만 이번에는 터미널로 접속하는 방법에 관해서 설명하겠습니다.

 

MySQL 접속 설명

  • MySQL 서버를 설치했다면 먼저 할 일은 설치된 MySQL 서버 접속해야 합니다.
  • 접속하는 방법은 터미널, 접속 도구인 Workbench, beaver, toad 등이 있는데,
  • Workbench 접속을 하실 때는 지난 시간에 작성한 글을 참고하세요.
  • 터미널은 자주 사용하지 않지만, 서버를 관리하거나 문제가 발생할 때는 접속할 수 있어서 
  • 터미널로 접속하는 방법을 정리하려고 합니다.

MySQL 접속 명령어

  • MySQL 서버는 대부분 Linux 설치해서 운영하므로 Linux 기준으로 설명하려고 합니다.
  • MySQL 접속 방법.
mysql -u 아이디 -p [패스워드]

접속 화면

aurum@ubuntu:~$ sudo mysql  -u root -p
[sudo] password for aurum: 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.37-0ubuntu0.22.04.3 (Ubuntu)

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

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>

 

MySQL 접속 후 명령어

1. 서버에 생성된 database 보기.

  • show 명령어를 사용하여  생성된 database를 확인하세요.
mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql>

 

2. 데이터베이스 변경.

  • use 명령어로 database를 변경하세요.
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

 

3. 생성된 테이블 확인 방법.

  • show 명령어로 tables 확인하세요.
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| 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                                                 |
+------------------------------------------------------+
37 rows in set (0.00 sec)

mysql>

4. 생성된 사용자의 정보 보기.

  • 생성된 user의 host를 확인하세요.
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| aurumguide       | %         |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

mysql>

 

5. 사용자 생성하고 권한 부여하기.

  • 새로운 유저를 생성하고 모든 권한을 부여하세요.
mysql> CREATE USER 'aurumguidetest'@'%' IDENTIFIED BY 'AQ!@WSde34rf';
Query OK, 0 rows affected (0.02 sec)

mysql> 
mysql> GRANT ALL PRIVILEGES on *.* to 'aurumguidetest'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


mysql>

 

6. 현재 상태 보기.

  • status 명령어를 사용해 보세요.
mysql> status;
--------------
mysql  Ver 8.0.37-0ubuntu0.22.04.3 for Linux on x86_64 ((Ubuntu))

Connection id:		18
Current database:	mysql
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.37-0ubuntu0.22.04.3 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/run/mysqld/mysqld.sock
Binary data as:		Hexadecimal
Uptime:			32 min 14 sec

Threads: 2  Questions: 74  Slow queries: 0  Opens: 180  Flush tables: 3  Open tables: 99  Queries per second avg: 0.038
--------------

mysql>

7. 프로세스 확인하기.

  • processlist 명령어를 사용하면 mysql 접속한 유저를 확인할 수 있습니다.
mysql> show processlist;
+----+-----------------+---------------------+-------+---------+------+------------------------+------------------+
| Id | User            | Host                | db    | Command | Time | State                  | Info             |
+----+-----------------+---------------------+-------+---------+------+------------------------+------------------+
|  5 | event_scheduler | localhost           | NULL  | Daemon  | 2007 | Waiting on empty queue | NULL             |
| 18 | root            | localhost           | mysql | Query   |    0 | init                   | show processlist |
| 19 | aurumguide      | 192.168.119.1:59295 | NULL  | Sleep   |    6 |                        | NULL             |
+----+-----------------+---------------------+-------+---------+------+------------------------+------------------+
3 rows in set, 1 warning (0.00 sec)

mysql>

 

8. 프로세스 죽이기.

  • kill 명령어를 사용해서 aurumguide 유저의 접속을 끊어주세요.
  • 접속 ID 숫자는 19입니다.
mysql> kill 19;
Query OK, 0 rows affected (0.00 sec)

mysql>

9. MYSQL에서 발생한 오류나 경고 다시 보기.

errors, warnings  통해서 에러 및 경고를 확인할 수 있습니다.

mysql> show errors;
Empty set (0.00 sec)

mysql> 
mysql> show warnings;
+-------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Level | Code | Message                                                                                                                                                    |
+-------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'warmings' at line 1 |
+-------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

 

10. mysql 나가기.

  • 명령어 실습을 완료하시면 mysql 나가도 좋습니다.
  • exit 명령어를 사용해 주세요.
mysql> exit
Bye
aurum@ubuntu:~$

 

반응형