반응형
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:~$
반응형