Backend/리눅스

[리눅스] 우분투 서버에 MySQL8 설치

mirae.kwak 2023. 5. 31. 00:17
728x90

MySQL 설치

우분투 서버 업데이트

sudo apt-get update

 

mysql-server 설치

sudo apt-get install mysql-server

 

MySQL 설정

외부 접속 설정(Port : 3306)

- MySQL Workbench에서 접속하기 위해 포트 열기

sudo ufw allow mysql

 

MySQL 실행, 자동 재시작 설정

sudo systemctl start mysql
sudo systemctl enable mysql

 

우분투 MySQL 시작, 정지, 재시작, 상태확인

service mysql start 
service mysql stop
service mysql restart
service mysql status

 

MySQL 접속

MySQL 접속

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

MySQL 나가기

quit

 

 

MySQL 사용자 관련

 

MySQL DB 생성

create database testdb;

 

MySQL 사용자 생성 및 권한 부여

CREATE USER 'test'@'localhost' identified BY 'test';
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'localhost';
FLUSH PRIVILEGES;

// user 삭제
drop user 'test'@'localhost';

만약 drop user 시에 ERROR 1396 (HY000): Operation DROP USER failed for 'test'@'localhost' 가 발생한다면 다음과 같이 삭제하면 된다. 이건 계정 생성과 권한 부여 시에 Create, Grant를 사용해야 하는데 mysql.user나 mysql.db를 직접 건들여서 그렇다고 한다.

delete from mysql.user where User ='test';
delete from mysql.db where User ='test';
flush privileges;

 

passwd 변경

alter user 'root'@'localhost' identified with mysql_native_password by 'test';

 

passwd 확인

select host, user, plugin, authentication_string, password_last_changed from user;

만약 database not defined 에러가 발생할 경우 데이터베이스 지정

show databases;
use mysql;

 

변경 사항 저장

flush privileges;

 

728x90