개발 이슈,해결법

[mysql] mysql 에서 password 컬럼을 찾을 수 없을

난쏘공돌이 2021. 10. 22. 16:53

문제의 사진

1.문제 상황

필자의 sql환경은 Server version: 8.0.26-0ubuntu0.20.04.3 (Ubuntu) AWS환경이다.

 

mysql을 사용하다 보면 root로 작업하지 말란 이야기들을 듣는다. 

보안상의 문제, 무결성의 문제라고 생각하는데 

 

아무튼 사용자를 생성하기 위해서는  use mysql; -> create userid@(host) identified by 'password' 를 치게 되는데

 

해당 유저가 잘 생성되었는지를 확인하려면 보통 

select user, host, password를 치곤했다. 그런데 이게 무슨일? password라는 컬럼이 없다고 나온다.

 

이게 무슨일인가 해서 select * from user; 를 실행시키니 컬럼종류로 다음과 같이 나왔다.

 

2. 컬럼확인

 


| Host      | User   | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv 
| Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv 
| Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher             | x509_issuer              | x509_subject               | max_questions 
| max_updates | max_connections | max_user_connections | plugin  | authentication_string
| password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |



가독성은 별로일지 모르겠으나 위와 같이 확인할 수 있었다 

 

위의 어떤 컬럼명을 봐도 password 가 단독으로 쓰인 컬럼은 없다.

찾아보니 mysql 5.7버전 이후부터는 password 컬럼이 아닌  authentication_string 를 사용한다고 한다.

 

해서 select 문을 바꿔서 실행해보니

잘 나오는 것을 확인 할 수 있다,