반응형

기본 SYNTEX

-- 방법 1
SET PASSWORD [FOR 유저명] = PASSWORD(${auth_string})
SET PASSWORD [FOR 유저명] = ${auth_string}

-- 방법 2
ALTER USER 유저명 IDENTIFIED BY 'auth_string';

주의사항

MySQL 공식 메뉴얼에선 방법 2 권장하고 있음.

방법1에서 PASSWORD functino을 사용하는 방법은 곧 삭제될 예정.

  • SET PASSWORD ... = PASSWORD('auth_string') syntax is deprecated as of MySQL 5.7.6 and will be removed in a future MySQL release.
  • SET PASSWORD ... = 'auth_string' syntax is not deprecated, but ALTER USER is now the preferred statement for assigning passwords.

다수의 계정 한번에 변경 시

update문을 이용해서 mysql.user테이블의 내용을 변경

version 5.6 이하

UPDATE mysql.user SET Password = PASSWORD('${auth_string}') WHERE USER='${user}' AND HOST='${host}';

version 5.7 이상

패스워드를 저장하는 칼럼이 authentication_string로 변경되었다.

UPDATE mysql.user SET authentication_string= PASSWORD('${auth_string}') WHERE USER='${user}' AND HOST in ('${host}');

참고페이지

MySQL 5.7 Reference Manual

반응형