일반 유저로 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"
이렇게 하면 백업 파일이 바탕화면에 생성댐팔당댐
백업 파일에는
- 데이터베이스 구조 (테이블, 인덱스, 뷰 등)
- 데이터베이스에 저장된 모든 데이터
- 트리거, 저장 프로시저, 함수 등 모든 데이터베이스 관련 오브젝트
정보가 모두 포함됨
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;