MYSql 접속 프로토콜 문제

Q1.  Mysql 접속시에 ” MYSQL ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option ‘secure_auth’ enabled) ” 오류 발생

원인: 사용자 암호 해쉬값을 예전 것을 사용해서 생기는 문제

해결 1 :   –skip-secure-auth  옵션 사용
=> 접속 할때 Mysql의 클라이언트의 암호 Hash수준을 낮 춰서 접속 ( 임시적인 방법 ) 

해결 2: 보다 근본 적인 해결 방법..
Mysql > use mysql;
Database changed
Mysql > describe user;
    describe user;
+———————–+———————————–+——+—–+———+——-+
 | Field | Type | Null | Key | Default | Extra |
+———————–+———————————–+——+—–+———+——-+
    | Host | char(60) | NO | PRI | | |
    | User | char(16) | NO | PRI | | |
    | Password | char(41) | NO | | | |

password 필드가 41 bytes 이상인 것을 확인 해야 함. 새로운 암호 해쉬는 적어도 41 바이트가
되어야 함

Mysql > show variables like ‘%pass%’;
    +———————-+——-+
    | Variable_name    | Value |
    +———————-+——-+
    | old_passwords    | ON   |
    | report_password |         |
    +———————+——-+
    2 rows in set (0.06 sec)

"old_passwords" 이 값을 OFF로 만들어야 함:

Mysql > set session old_passwords = 'OFF';
    Query OK, 0 rows affected (0.05 sec)

Mysql > show variables like '%pass%';
    show variables like '%pass%';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | old_passwords   | OFF   |
    | report_password |       |
    +-----------------+-------+
    2 rows in set (0.06 sec)

됐으면.. 확인 차원에서 사용자 만들어 본다..

 Mysql > create user 'erich' IDENTIFIED BY 'SEKRIT PASSWORD';

.아래처럼 길게 나오면 성공..

Mysql > select * from user order by User;
    +-----------+--------------+-------------------------------------------+--------
    | Host      | User         | Password                                  | Select_
    +-----------+--------------+-------------------------------------------+--------
    | localhost | someguy      | 3d9505dd323e53f1                          | Y
    | %         | someotherguy | 79b3df3b004bb855                          | Y
    | %         | erich        | *D2589EF6B59146801234567897BB190123456789 | N
    | %         | anotheroldguy| 60577e0d77b9212b                          | Y      

이상..