SQL
[MySQL] Linux 환경 세팅
Alex, Yoon
2021. 10. 12. 21:33
오늘은 Linux 환경에 MySQL을 설치하고 외부에서 port를 사용하여 접근할 수 있도록 환경세팅을 진행해보도록 하겠습니다.
1. MySQL 설치 (설치여부 확인)
mysql 서버와 클라이언트 설치
sudo apt-get install mysql-server mysql-client
# mysqladmin 명령어 입력하여 설치여부 확인.
- 설치 중, MySQL의 root 계정 패스워드를 입력하는 절차가 나타나는데, 사용할 root 계정 패스워드를 입력합니다.
- 설치 후, MySQL 설정파일 (/etc/mysql/my.cnf)에서 bind-address 부분을 주석처리합니다.
# bind-address = 127.0.0.1
2. 데이터 베이스 생성 및 접속하기
데이터 베이스 생성 및 접속 (root 계정 활용)
# 데이터 베이스 생성
# ( 데이터베이스명: test1, 계정 : root )
mysqladmin -u root create test1 -p
# 데이터 베이스 접속
mysql -u root -p test1
# 데이터 베이스 접속 후 테이블 확인. (; 사용 필수)
show tables ;
3. 지원되는 Character_set 확인 및 설정
현재 mysql에서 사용가능한 Character set을 확인한 후, 기설정되어 있는 세팅을 확인합니다.
# 지원되는 캐릭터 셋 확인.
mysql> show character set;
# 현재 설정된 세팅 확인.
mysql> show variables like 'char%';
# 현재 상태 및 세팅 확인
mysql> status
결과 예시.
UTF-8 으로 캐릭터 셋 변경하기
- 정신건강을 위해서는 UTF-8로 기본세팅을 진행하는 것이 좋습니다.(Mysql version 에 따라 default 설정)
- 만약 아래의 방법대로 기본 환경설정이 안된다면 참고 - [자세히]
ex) vi /etc/mysql/my.cnf
...
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
설정 이후, MySQL을 재시작합니다. 이후 status 명령어로 바뀐내용을 확인합니다.
# 재시작
$ /etc/init.d/mysql restart
mysql> status
Connection id: 2
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.35-0ubuntu0.18.04.2 (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
Uptime: 6 sec
4. 테이블 생성하기 , 사용자 추가하기
Create Table 문을 사용해서 새로운 테이블을 생성해봅니다.
mysql> create table users (
id varchar(10) primary key,
name varchar(20) not null,
password varchar(10) not null
);
# table 생성 결과 확인.
mysql> show tables;
# select 문
mysql> select * from user;
사용자 추가하기 ( 아이디: alex / 패스워드 : tt1tt ) > test1 데이터베이스에 대한 권한 '모두'를 준다.
mysql> GRANT ALL PRIVILEGES ON test1.* TO alex@localhost IDENTIFIED BY 'tt1tt' WITH GRANT OPTION;
5. 테이블 정보 확인
mysql> desc users;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | varchar(10) | NO | PRI | NULL | |
| name | varchar(20) | NO | | NULL | |
| password | varchar(10) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
6. root 계정 초기 비밀번호 설정
('1234' 부분을 사용할 패스워드로 변경)
# DB 변경
mysql> use mysql
# root 계정 패스워드 변경
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'
7. MySQL port 설정
MySQL는 3306으로 기본 포트가 설정되어있습니다. 포트 변경을 하려면 mysqld.cnf 파일에서 port 부분을 수정하면 됩니다.
ex) vi /etc/mysql/mysql.conf.d/mysqld.cnf
반응형