반응형
1. 설치하기
# 우분투 apt 저장소 업데이트
$ sudo apt-get update
# mysql 서버 설치하기
$ sudo apt-get install mysql-server
# 우분투 방화벽 허용
- MySQL 포트 3306을 사용하기 때문에 방화벽을 열어준다.
$ sudo ufw allow mysql
# MySQL 실행하기
$ sudo systemctl start mysql
# MySQL 접속
mysql -h 서버주소 -u 사용자명 -p 비밀번호 데이터베이스이름
$ sudo mysql -h localhost -u root -p
# MySQL 종료
mysql> quit
2. MySQL 사용자 관리
# 사용자 CREATE
localhost에서 접속하는 USER 계정을 생성한다.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
모든 서버에서 접속가능한 USER 계정을 생성한다.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
# 사용자 권한 설정
사용자에게 모든 권한을 일임하는 명령어다.
WITH GRANT OPTION 옵션은 다른 사용자에게 권한을 부여하고 회수할 수 있다.
*.* 은 모든 Database.모든 table의 권한을 의미한다.
ALL PRIVILEGES를 대신해서 SELECT, UPDATE, DELETE, CREATE, INDEX, DROP, 등의
권한 명칭을 따로 설정해서 세부적인 권한설정이 가능하다.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'localhost' WITH GRANT OPTION;
권한 해제는 REVOKE 명령어를 사용한다.
mysql> REVOKE ALL PRIVILEGES *.* FROM 'testuser'@'localhost';
사용자 삭제는 DROP 명령어를 사용한다.
mysql> DROP USER 'testuser'@'localhost';
권한 설정을 업데이트 한다.
mysql> flush privileges;
### ERROR 1396 (HY000): Operation DROP USER failed for ###
- 1396 에러코드는 권한 설정의 문제를 의미한다.
- 권한설정을 직접 조작하는 과정에서 충돌이 발생한 것이다.
- 사용자 계정을 모두 삭제한 뒤 다 시 시도한다.
- 사용자 계정 정보는 mysql.user + mysql.db에 저장된다.
delete from mysql.user where User ='삭제할 아이디';
delete from mysql.db where User ='삭제할 아이디';
flush privileges;
3. 데이터베이스 작업
# 데이터베이스 목록 확인
mysql> SHOW DATABASES;
# 데이터베이스 접속
mysql> USE databasename;
# 테이블 목록 확인
mysql> SHOW TABLES;
4. 현재 접속정보
# 현재 접속한 서버, 아이디등 세션정보를 확인한다.
mysql> status;
# 프로세스 목록 확인
현재 진행중인 프로세스 목록을 확인한다.
mysql> SHOW processlist;
# 프로세스 종료
mysql> KILL pid(프로세스아이디);
반응형
'Programming > Database' 카테고리의 다른 글
MySQL 기본 사용법 주요 명령어들 정리(feat DDL, DML, DCL) (0) | 2022.05.01 |
---|---|
postgres User create / createdb / superuser 생성, 권한부여 (0) | 2021.12.09 |
Ubuntu MySQLClient 설치시 에러 발생 해결 OSError: mysql_config not found (0) | 2021.12.02 |
postgreSQL TABLE 이름 변경하기 rename table (0) | 2021.11.02 |
postgreSQL DELETE TABLE 데이터베이스 삭제 (0) | 2021.11.02 |
postgreSQL in Django (0) | 2021.10.25 |
댓글