본문 바로가기
IT/데이터베이스

mysql 비밀번호 초기화

by psluckyguy 2022. 3. 25.
반응형

mysql root 로그인 및 비밀번호 변경


vi /etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
port=변경할포트번호

==================================
<<mysql패스워드초기화>>

systemctl stop mysqld
<!-- 환경변수 설정 --->
아래 설정 하면 시작 해도 DB에 포트가 안열림 
작업 후 unset-environment 해줘야함
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mysqld
mysql -u root -p      <!-- 패스워드 초기화 후 그냥 엔터 하면 접속 

mysql> UPDATE mysql.user SET authentication_string= PASSWORD('passwd') 

           WHERE User='root' AND Host='localhost';
UPDATE mysql.user SET authentication_string=null WHERE User='root' AND Host='localhost';     /--mysql8 버전 이걸로 해결
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password_here';  /--예시
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '패스워드값';  
mysql> FLUSH PRIVILEGES;

 
SELECT * FROM mysql.user
SELECT authentication_string FROM mysql.user WHERE User='root'
 


4. MYSQL 환경변수 삭제

Mysqld를 Stop해준 후 위에서 설정했던 MYSQL 환경변수를 
제거하고 변경사항 적용을 위해 Mysqld를 가동시켜줍니다.

systemctl stop mysqld
systemctl unset-environment MYSQLD_OPTS
systemctl start mysqld


/!-- 포트 확인 
mysql > SHOW GLOBAL VARIABLES LIKE 'PORT';