# 일반 사용자 암호 수정
# mysql 접속 사용자는 mysql db 의 user 테이블로 관리된다.
select * from mysql.user;
# user 테이블에 사용자를 추가하거나 수정한다.
# 아래 명시된 쿼리 대신 쿼리 브라우저를 사용해서 gui 환경에서 추가 수정하면 편하다.
# 사용자 추가 및 암호 설정
create user 'ysoftman'@'localhost' identified by 'ysoftman123';
# 사용자 암호 수정 쿼리
update mysql.user set password='password123' where user = 'ysoftman';
# 사용자 삭제 쿼리
delete from mysql.user where user = 'ysoftman';
# 이제 mysql 재시작하면 적용된다.
sudo service mysql restart
#####
# 암호 정책(policy)
# 암호 관련 변수들 확인
show variables like 'validate_password%';
# password policy 낮추기
set global validate_password_policy='LOW';
#####
# root 암호 수정
# mysqld_safe 실행(윈도우 버전은 myslqd.exe 를 사용하면 된다.)
sudo /usr/bin/mysqld_safe --skip-grant-tables &
# root 암호 변경
update user set password=password('ysoftman') where user='root';
update user set authentication_string=password('ysoftman') where user='root';
set password for 'root'@'localhost' = password('ysoftman');
flush privileges;
# mysql_safe 중지 후 mysqld 시작
# 참고로 사용자 추가시
insert into user(host, user, password) values('localhost', 'ysoftman', PASSWORD('test123'));
#####
# root 암호를 알수 없는 경우
# 우선 mysql 을 중지시킨다.
sudo service mysql stop
# mysqld_safe 실행(윈도우 버전은 myslqd.exe 를 사용하면 된다.)
sudo /usr/bin/mysqld_safe --skip-grant-tables &
# root 로 암호 없이 접속 가능
/usr/bin/mysql -u root
# root 암호 변경
update mysql.user set password='password123' where user = 'ysoftman';
# mysql 재시작(mysqld_safe 는 자동 중단된다)
sudo service mysql start
# root 변경된 암호로 접속
/usr/bin/mysql -u root -ppassword123