DB

MySQL root 비밀번호 재설정

99duuk 2024. 10. 23. 15:22

일반 유저로 DDL 넣으려는데 디나이 당해버림보 

root 계정 패스워드 잊어버림프절

 

모든 권한 받은 일반 유저 패스워드를 알고 있으면 요로코롬 할 수 있습니다람쥐

 

기본적으로 MariaDB 및 MySQL에서 root 계정은 시스템 전체에 대한 최고 관리자 권한을 가진 사용자이며,
root 계정에 대한 비밀번호 변경 작업은 동등하거나 더 높은 권한을 가진 사용자만이 수행할 수 있습니다.

 

 

버전은

SELECT VERSION();
-----------------
10.6.12-MariaDB
-----------------

 

였삼


먼저 혹시 모르니까 백업을 했습니다람쥐

 

특정 데이터베이스만 하려면 

mysqldump -u root -p my_database > my_database_backup.sql

 

모든 데이터베이스 하려면

mysqldump -u 사용자명 -p --all-databases > 모든_데이터베이스_백업.sql

 

경로까지 설정해주려면 

mysqldump -u user1 -p --all-databases > "C:\Users\99duuk\Desktop\all_databases_backup.sql"

 

이렇게 하면 백업 파일이 바탕화면에 생성댐팔당댐

 

 

 

백업 파일에는

  1. 데이터베이스 구조 (테이블, 인덱스, 뷰 등)
  2. 데이터베이스에 저장된 모든 데이터
  3. 트리거, 저장 프로시저, 함수 등 모든 데이터베이스 관련 오브젝트

정보가 모두 포함됨

 

mysqldump
는 기본적으로 데이터베이스 구조와 데이터를 모두 포함한 SQL 파일을 생성합니다. 나중에 이 백업 파일을 이용해 데이터베이스를 복원하면 원래 데이터베이스의 구조와 데이터가 그대로 복원됩니다
더보기
더보기
-- 데이터베이스 구조 정의
CREATE TABLE `employees` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(50),
  `position` VARCHAR(50),
  PRIMARY KEY (`id`)
);

-- 테이블 데이터 삽입
INSERT INTO `employees` (`id`, `name`, `position`) VALUES (1, 'John Doe', 'Manager');
INSERT INTO `employees` (`id`, `name`, `position`) VALUES (2, 'Jane Smith', 'Developer');

 


재설정 해보게씀

 

알고 있는 사용자명과 비밀번호를 사용하여 MariaDB에 접속

mysql -u 알고 있는 사용자명 -p

 

 

 

root 비밀번호 재설정

ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운비밀번호';
FLUSH PRIVILEGES;


(= ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';)

 

(변경된 권한을 바로 적용)

 

 

변경이 완료되면 MariaDB 콘솔에서 exit 명령어를 입력하여 종료

exit;

 

 

 

새로운 비밀번호로 root 계정에 접속 확인

mysql -u root -p

 

 

 

재설정 끝~


특정 유저에게 권한을 줘보게씀

 

먼저 root 로그인하고 

mysql -u root -p

 

 

현재 로그인한 아이디 

SELECT USER();


USER()
------------------
root@hostname

그냥 헷깔려서 확인해봄

 

 

GRANT ~

// 모든 스키마에 모든 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';

// 특정 스키마에 모든 권한 부여
GRANT ALL PRIVILEGES ON schema_name.* TO 'user1'@'localhost';

 

권한 적용

FLUSH PRIVILEGES;