mysql 5.7 설치

$ sudo apt-get install mysql-server-5.7

명령어를 입력해 mysql을 설치합니다.

설치가 완료되고 mysql -u root -p를 입력하면 비밀번호를 입력하라는 문구가 뜰 겁니다. 하지만 저희는 비밀번호를 설정한 적이 없습니다.

이는 우분투 18.04에서 mysql 접속 방법이 기존의 패스워드 방식이 아니라 auth_socket 플러그인을 이용하여 인증 로그인을 하기 때문입니다. 이를 패스워드 방식으로 바꿔보겠습니다.

mysql 비밀번호 초기화

$ sudo mysql

위 셸을 입력하면 관리자 권한으로 mysql에 접속하실 수 있습니다.

update mysql.user set plugin='mysql_native_password' where user='root';

접속 권한을 패스워드로 바꿔주고

update mysql.user set authentication_string=PASSWORD('new_password') where user='root';
flush privileges;
quit

패스워드까지 새롭게 입력해준 뒤 종료합니다.

$ sudo service mysql restart
$ mysql -u root -p

mysql 서버를 재시작 해준 뒤, 새롭게 입력한 패스워드를 이용하여 mysql에 접속합니다.

mysql 언어셋 한글 설정

먼저 mysql에 들어가서 현재 언어셋을 확인합니다.

$ mysql -u root -p
> status;

확인하면 utf8이 아니라, latin1같은 이상한 언어셋이 설정되어 있습니다.
mysql을 나온 후, vi 편집기로 mysql 설정 파일을 열어줍니다.

$ sudo vim /etc/mysql/my.cnf

그 후 밑에 코드를 my.cnf 맨 밑에 붙여넣어 줍니다.

[client]
default-character-set = utf8

[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

편집기를 나온 후, mysql을 재시작합니다.

$ sudo service mysql restart
$ mysql -u root -p
> status;

확인해보시면 모든 언어셋이 utf8로 변경되신걸 보실 수 있습니다.