리눅스
CentOS7 MariaDB 10.6 설치 및 root 비밀번호 복구 방법
Link2Me
2024. 11. 25. 00:46
728x90
MariaDB 10.6 설치 스크립트 및 root 비밀번호 복구 방법 등 전반에 대한 사항이다.
################################
##### MariaDB 10.6 버전 설치 #####
################################
vi /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.6 CentOS repository list
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.6/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
sudo yum makecache fast
yum -y install mariadb-server mariadb-client
# mariadb 부팅 시 자동 시작 설정
systemctl enable mariadb
# mariadb 시작 (둘 중 하나 실행)
systemctl start mariadb
service mariadb start
# mariadb 상태 확인
service mariadb status
# MariaDB 설정
mariadb-secure-installation
# MariaDB 프로세스 확인 (둘중 하나 실행)
ps -ef | grep mysql
ps -ef | grep mariadbd
vi /etc/my.cnf.d/server.cnf
[mysqld]
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
vi /etc/my.cnf.d/clients.cnf
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
service mariadb restart
mysql -u root -p
status
quit
# 서비스 재시작
systemctl restart mariadb
mariadb -u root -p
use mysql;
select * from global_priv;
select host,user,password,plugin from user;
# (10.4 버전 이상)이전 패스워드 인증방식으로 설정하기 ==> 패스워드 입력 방식
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("비밀번호");
flush privileges;
# unix_socket 인증방식으로 설정하기 ==> root 권한으로 접속 시 비밀번호 없이 인증
ALTER USER root@localhost IDENTIFIED VIA unix_socket;
flush privileges;
select host,user,password,plugin from user;
# 원격은 무조건 패스워드 인증으로만 접근이 가능하다.
#######################################################################
####### 실제 적용 예제 ######
#######################################################################
mariadb -u root -p
use mysql;
create user codefox@localhost identified by 'codefoxfull!!';
grant all privileges on orgChart.* to codefox@localhost;
flush privileges;
-- DB 생성
create database orgChart default character set utf8;
use orgChart;
-- 파일 업로드
source orgChart.sql;
#######################################################################
# DB 백업
mysqldump -uroot -p --databases orgChart > orgChart.sql
# MariaDB 환경설정 관리 경로
ls -al /etc/my.cnf.d/
#######################################################################
# MariaDB 설치 경로 확인
cd /var/lib/mysql
############################
### root 패스워드 분실 복구 ####
############################
# 콘솔 창을 2개 준비하여 작업한다.
# 서비스 중지
systemctl stop mariadb
# 상태 확인
systemctl status mariadb
# DB 실행
sudo mysqld_safe --skip-grant-tables &
# 다른 콘솔창에서 확인
ps -ef | grep mysql
# 비밀번호 없이 접속하여 패스워드 변경
mysql -u root
-- 저장된 인증방식을 비활성화하기 위해 먼저 실행한다.
flush privileges;
-- 비밀번호 변경
grant all privileges on *.* to 'root'@'localhost' identified by '비밀번호';
flush privileges;
exit
# 실행되는 DB 모두 죽이기
ps -ef | grep mysql
kill -9 PID번호
를 해서 실행된 창을 전부 죽인다.
# 실행되는 mysql 프로세스가 없는지 확인한다.
ps -ef | grep mysql
systemctl start mariadb
# 접속 테스트
mysql -uroot -p
비밀번호
|
위 스크립트 파일 첨부
728x90