소개
이 프로젝트에서는 MySQL 데이터베이스에서 새로운 사용자를 생성하고, 최대 연결 수를 설정하며, 바이너리 로그 보존 기간을 구성하는 방법을 배우게 됩니다. 이 프로젝트는 기본적인 데이터베이스 관리 작업을 이해하고 SQL 스크립트를 사용하여 이를 자동화하는 방법을 익히도록 설계되었습니다.
👀 미리보기

🎯 작업
이 프로젝트에서 다음을 배우게 됩니다:
- 시스템에서 MySQL 서비스를 시작하는 방법
- 비밀번호 없이 로컬 로그인이 가능한 새로운 사용자를 생성하는 방법
- 데이터베이스의 최대 연결 수를 설정하는 방법
- 바이너리 로그 자동 삭제를 활성화하고 로그 보존 기간을 설정하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- MySQL 데이터베이스에서 사용자 계정 및 권한을 관리할 수 있습니다.
- 성능 및 유지 관리를 최적화하기 위해 데이터베이스 설정을 구성할 수 있습니다.
- SQL 스크립트를 사용하여 일반적인 데이터베이스 관리 작업을 자동화할 수 있습니다.
MySQL 서비스 시작
이 단계에서는 시스템에서 MySQL 서비스를 시작합니다. 이 단계를 완료하려면 아래 단계를 따르세요.
- 시스템에서 터미널을 엽니다.
- 다음 명령을 실행하여 MySQL 서비스를 시작합니다:
sudo service mysql start
이렇게 하면 시스템에서 MySQL 서비스가 시작됩니다.
스크립트 저장
~/project디렉토리에userBinLog.sql이라는 새 파일을 생성합니다.다음 코드를
userBinLog.sql파일에 복사합니다.빈 비밀번호를 가진 'Rong'이라는 새 사용자를 생성합니다.
-- Create a new user named 'Rong' with a blank password CREATE USER 'Rong'@'localhost' IDENTIFIED BY '';이렇게 하면 빈 비밀번호를 가진 "Rong"이라는 새 사용자가 생성되고, 사용자가 로컬 머신에서 로그인할 수 있습니다.
최대 연결 수를 50 으로 설정합니다.
-- Set the maximum number of connections to 50 SET GLOBAL max_connections = 50;이렇게 하면 최대 연결 수가 50 으로 설정됩니다.
바이너리 로그 보존 기간을 15 일로 설정합니다.
-- Set the binary log retention period to 15 days SET GLOBAL binlog_expire_logs_seconds = 15 * 24 * 60 * 60;이렇게 하면 바이너리 로그 보존 기간이 15 일로 설정됩니다.
스크립트 실행
다음 명령을 실행하여 MySQL 명령줄 인터페이스를 엽니다.
mysql -urootMySQL 프롬프트에서 다음 명령을 실행하여
userBinLog.sql스크립트를 실행합니다.SOURCE ~/project/userBinLog.sql이렇게 하면
userBinLog.sql스크립트의 SQL 문이 실행됩니다.이제 프로젝트가 완료되었습니다. 다음 SQL 문을 실행하여 결과를 확인할 수 있습니다.
SHOW VARIABLES LIKE "%max_connections%"; SHOW VARIABLES LIKE 'binlog_expire_logs_seconds'; use mysql; SELECT user, host FROM user WHERE user = 'Rong';이 문은
max_connections및binlog_expire_logs_seconds변수의 현재 값과 생성한 사용자를 표시합니다.
다음 결과를 확인할 수 있습니다.
MariaDB [(none)]> SHOW VARIABLES LIKE "%max_connections%";
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| extra_max_connections | 1 |
| max_connections | 50 |
+-----------------------+-------+
2 rows in set (0.001 sec)
MariaDB [(none)]> SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| binlog_expire_logs_seconds | 1296000 |
+----------------------------+---------+
1 row in set (0.000 sec)
MariaDB [(none)]> 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
MariaDB [mysql]> SELECT user, host FROM user WHERE user = 'Rong';
+------+-----------+
| User | Host |
+------+-----------+
| Rong | localhost |
+------+-----------+
1 row in set (0.001 sec)
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



