nugawiki

./server

MariaDB/MySQL root 패스워드 분실 재설정

업데이트 2024-01-09 1분 소요 /SERVER #DB#MySQL

1. 서비스 정지

systemctl stop mariadb

2. mysql 안전모드 실행

sudo /usr/bin/mysqld_safe --skip-grant &
[1] 7845
170801 18:02:09 mysqld_safe Logging to '/var/log/mariadb/mysql-error.log'.
170801 18:02:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[1]+  Done          sudo /usr/bin/mysqld_safe --skip-grant

또는 

mysqld -uroot --skip-grant-tables &

3. 패스워드 변경

mysql -uroot mysql

flush privileges;

-- MYSQL 5.x
update user set password=password('변경할비밀번호') where user='root';
-- MYSQL 8.x
alter user 'root'@'localhost' identified with mysql_native_password by '변경 비밀번호';

flush privileges;
exit;

4. 접속 테스트

mysql -uroot -p

-- 성공 시
shutdown;

5. 서비스 재시작

## 기존에 사용했던 사용자 계정에서 시작해야 함
systemctl start mariadb

## 권한 관련 오류 발생 시 (Error 13)
chown -R mysql.mysql /var/lib/mysql