PHP Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user.
위와 같이 오류가 발생할 경우는 php버전과 mysql버전에서 사용하는 password 암호화 방식이 다르기때문에 발생된 에러입니다.
해결방법은 아래와 같습니다.
mysql> select length(password) from mysql.user where user='testuser';
+------------------+
| length(password) |
+------------------+
| 16 |
+------------------+
1 row in set (0.01 sec)
mysql> set old_passwords=0;
Query OK, 0 rows affected (0.00 sec)
mysql> update mysql.user set password=password('test') where user='testuser' limit 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select length(password) from mysql.user where user='testuser';
+------------------+
| length(password) |
+------------------+
| 41 |
+------------------+
1 row in set (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
위와 같이 진행하시고 다시 소스를 실행해보시면 정상적으로 접속이 됩니다.
'# Script > PHP' 카테고리의 다른 글
단일서버 php버전별 사용하기(php-fpm) (0) | 2019.01.07 |
---|---|
centos7 php7x 컴파일 설치 (0) | 2019.01.06 |
PHP mysql 연결 확인 소스 (0) | 2017.06.16 |
curl를 이용한 다음 자동로그인 (0) | 2016.08.24 |
PHP 주석제거 정규식 (0) | 2016.03.30 |
안녕하세요. 이곳은 IT위주의 잡다한 정보를 올려두는 개인 블로그입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!