[Ubuntu] 우분투에 MySQL 설치하기

seungyeon·2021년 4월 7일
16

Ubuntu

목록 보기
2/3
post-custom-banner

apt-get 이라는 패키지 매니저를 이용해 설치를 진행한다. (우분투 리눅스를 설치했다면 이미 설치되어 있다.)

1. 우분투 서버 업데이트

$ sudo apt-get update

2. mysql-server 설치

$ sudo apt-get install mysql-server

설치 중간 중간 Password를 물어보는데 빈칸으로 두고 OK를 누르면 Ubuntu 서버 비밀번호와 자동으로 동기화 된다.

3. MySQL 기본 설정

3-1. 외부 접속 기능 설정 (포트 3306 오픈)

처음에 이 부분을 설정을 안해줬더니 MySQL Workbench를 사용하려고 했더니 오류가 발생했다.

$ sudo ufw allow mysql

3-2. MySQL 실행

$ sudo systemctl start mysql

3-3. Ubuntu 서버 재시작시 MySQL 자동 재시작

$ sudo systemctl enable mysql

4. MySQL 접속

$ sudo /usr/bin/mysql -u root -p

ERROR 1698 (28000)

처음에 $ sudo mysql -u root -p 로 진행했더니 아래와 같은 에러가 발생했다.

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

해결방법: mysql 대신 /usr/bin/mysql 과 같이 경로를 정확하게 명시해주면 된다.

성공적으로 접속하면 터미널 창이 아래와 같이 변경된다.

mysql> 여기다가 입력하면 된다

5. 사용자 등록 및 권한 설정

5-1. 사용자 정보 확인

mysql> SELECT User, Host, authentication_string FROM mysql.user;

5-2. TESTDB 라는 데이터 베이스 만들고 확인

mysql> CREATE DATABASE TESTDB;
mysql> SHOW DATABASES;

5-3. TESTDB 데이터베이스를 사용할 계정 testuser 만들고 확인

mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'mysql비번';
mysql> FLUSH PRIVILEGES;
mysql> SELECT User, Host, authentication_string FROM mysql.user;

5-4. TESTDB 데이터베이스를 사용할 계정 testuser 에 권한 부여

mysql> GRANT ALL PRIVILEGES ON 데이터베이스이름.* FOR'testuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANTS FOR'testuser'@'localhost';
mysql> SELECT User, Host, authentication_string FROM mysql.user;

Option 1. MySQL 버전 확인

mysql> show variables like "%version%";

Option 2. Mysql 비밀번호 변경 방법

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번');

또는

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '바꿀비번';

Reference

https://m.blog.naver.com/jesang1/221993846056

post-custom-banner

2개의 댓글

comment-user-thumbnail
2022년 7월 8일

감사합니다. 이유는 모르겠는데, 초기에 sudo /usr/bin/mysql -uroot -p 를 해줘야
다음부터 sudo mysql -uroot -p 이렇게 하면 들어가 지네요

답글 달기
comment-user-thumbnail
2022년 8월 19일

권한을 부여할 때 포스팅에 적힌대로 하면 신택스 에러가 납니다. FOR 대신 TO를 써야 하네요.

답글 달기