최근 Oracle에서 MariaDB로 마이그레이션을 진행하면서 여러 가지 차이점을 느끼고 있습니다. MariaDB는 MySQL과 거의 동일하지만 버전업을 거치면서 조금씩 차이를 보이고 있습니다. 그러나 MariaDB의 근간이 MySQL이기에 두 DBMS는 공유하고 있는 부분도 많이 있습니다. 소소한 것들이지만 MariaDB의 버전별 차이도 조금은 크고, 불편하게 느껴져서 검색하면서 찾은 내용들을 하나씩 정리하고 있습니다.
1. 사용자 계정 비밀번호 변경
MariaDB(MySQL)에서는 DBMS에서 사용자를 추가하고 관리하는 SQL문이 DB 버전에 따라서 지원하는 방법이 서로 다릅니다. 기본적인 절차는 아래와 같습니다.
1.1 비밀번호 변경 절차
STEP 1. root 계정 로그인
STEP 2. mysql DB 선택
STEP 3. 버전 별 password 변경 SQL 실행
STEP 4. 변경 사항 적용
1.2 root 계정 로그인
터미널에서 콘솔 사용
$ mysql -u root -p
DBMS Tool 사용 [ HeidiSQL ]
1.3 mysql DB 선택
터미널에서 콘솔 사용
> use mysql;
DBMS Tool 사용 [ HeidiSQL ]
왼쪽 창에서 mysql 클릭
1.4 버전 별 password 변경
SQL문 실행
-- MySQL 5.6 (= MariaDB 10.1) 이하
> UPDATE user SET password=password('my_pasword') WHERE user = 'root';
-- MySQL 5.7 (= MariaDB 10.2) 이상
> UPDATE user SET authentication_string=password('my_password') WHERE user = 'root';
-- MySQL 8.x (= MariaDB 10.3) 이상
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_passord by 'my_password';
1.5 변경 사항 적용
SQL문 실행
> flush privileges;
이 외에도 다른 방법들이 있습니다만 여기서는 SQL문을 사용하는 방법을 정리하였습니다.
SQL문을 보자면 DDL문인 ALTER USER가 좀 더 익숙한 방법인데 아쉽게도 최신 버전을 사용할 수 없기에 UPDATE문을 사용하게 되었네요. MySQL에서는 root 계정으로 mysql DB의 user 테이블을 열어 볼 수 있으니 각 버전에서 DB Tool을 사용하여 확인해보면 좀 더 깊게 이해할 수 있을 것 같습니다.
'Dev. Cookbook > SQL, Oracle, MariaDB' 카테고리의 다른 글
[MariaDB] MariaDB 10.1, 10.2 시퀀스 기능 구현 (0) | 2022.11.05 |
---|---|
[Oracle] ORA-00984: 열을 사용할 수 없습니다. "column not allowed here" (0) | 2022.05.27 |
[Oracle] ORA-08002: 시퀀스 xxx.CURRVAL은 이 세션에서는 정의 되어 있지 않습니다 (0) | 2022.05.27 |
[Oracle] sys, system 계정 비밀번호 재설정 방법 (0) | 2022.05.24 |
[Oracle] Select count(*), count(1), count(column_name), count(DISTINCT column_name) 차이점 (0) | 2022.05.12 |
댓글