jetalog.net

MySQL은 다양한 App과 서비스에서 사용하는 RDBMS입니다.

Ubuntu에 설치하는 과정을 기록도 겸할겸 간략하게 명령어 위주로 정리해봅니다.


정말 많이 급하게 설치를 진행해야 한다면 아래 검은 바탕의 명령어와 굵은 글꼴만 읽으면 됩니다.



MySQL 설치

패키지 관리자를 최신화 한 후 MySQL을 설치합니다.

sudo apt-get update
sudo apt-get install mysql-server



보안 관련 설정

다음 명령어를 통해 보안 관련 설정을 진행합니다.

mysql_secure_installation



외부 접속 허용

만약 현재 기기의 외부에서 접속이 필요하다면 외부 접속 관련 설정을 진행해야 합니다.


1. 외부 접속 계정 생성

##_사용자ID_##를 외부에서 접속할 사용자 ID로, ##_비밀번호_##를 외부에서 접속할 때 이용할 비밀번호로 치환한 후 아래 명령어를 입력합니다. 1-2행은 Shell에서, 4행부터는 MySQL CLI에서 실행된다는 것에 유의하세요.

$ sudo mysql -u root -p
Enter password: (비밀번호 입력. 입력한 값은 표시되지 않음.)

mysql> INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('%','##_사용자ID_##',password('##_비밀번호_##'),'','','');
mysql> GRANT ALL PRIVILEGES ON *.* TO '##_사용자ID_##'@'%';
mysql> FLUSH PRIVILEGES;
mysql> exit


2. 외부 접속 허용

아래 명령어를 이용해 MySQL 설정 파일을 불러옵니다.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf


편집기에서 bind-address 부분을 수정합니다.

.
.
.
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address            = 127.0.0.1   # Before
bind-address            = 0.0.0.0       # After
#
# * Fine Tuning
#
key_buffer_size         = 16M
.
.
.


편집을 마친 후 MySQL을 재실행합니다.

sudo service mysql restart


외부에서 접속을 시도하면 접속이 되는 것을 확인할 수 있습니다.



시간대 변경

위 이미지를 보시면 현재 UTC 시간을 사용 중인 것을 확인할 수 있습니다.

MySQL을 설치하면 기본적으로 OS의 시간 설정을 따라 설정됩니다.

만약 원하는 시간대로 설정되지 않았다면 직접 시간대를 변경합니다.


1. 시간대 정보 저장

sudo mysql_tzinfo_to_sql /usr/share/zoneinfo > tzinfo.sql


2. 시간대 정보 불러오기

$ sudo mysql -u root -p
Enter password: (비밀번호 입력. 입력한 값은 표시되지 않음.)

mysql> use mysql;
Database changed

mysql> source tzinfo.sql;
.
.
.

mysql> SET GLOBAL time_zone='Asia/Seoul';
Query OK, 0 rows affected (0.00 sec)

mysql> SET time_zone = 'Asia/Seoul';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| Asia/Seoul         | Asia/Seoul          |
+--------------------+---------------------+
1 row in set (0.00 sec)

mysql> exit
exit

모두 실행 후 22행과 같이 Asia/Seoul이 두 번 표시가 되면 설정이 완료된 것입니다.



참고 문서

- How To Install MySQL on Ubuntu 18.04 | DigitalOcean - https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04

- MySQL 원격 접속 허용 - 제타위키 - https://zetawiki.com/wiki/MySQL_원격_접속_허용

- [MySQL] DB Time Zone 변경 - 남산 아래 개발자들 - http://devstory.ibksplatform.com/2018/05/mysql-db-time-zone.html



티스토리 툴바