MySQL password 대응함수

  MySQL 8버전부터 password 함수가 적용불가. UPDATE user SET passwd = PASSWORD('aaaaa') UPDATE user SET passwd = CONCAT('*', UPPER(SHA1(UNHEX(SHA1('aaaaa'))))) 버전 8로 업그레이드 후 생기는 문제 중 하나..... 저 passwd를 사용하지 않는거라 크게 문제되지 않지만 만약에 다른 방법이 필요하다면 저렇게 사용 가능할꺼 같다. [출처] MySQL 8 Password 함수 대응 | 작성자 BZ

MySQL 8.0 Incorrect date value error

  aws Aurora MySQL  5.7에서 8 업그레이드 하면서 나온 에러 date 컬럼에 where '' 했더니 에러 하지만 '0000-00-00' 검색 됨 . 이유는 고마우신분이 작성한 글 내용 MySQL 서버에서 sql_mode 옵션에 NO_ZERO_DATE 옵션과, NO_ZERO_IN_DATE 옵션이 존재한다. 이 2개 옵션은 다음과 같이 동작한다. ​ NO_ZERO_DATE enable: 0000-00-00 값을 invalid date로 인식한다. disable: 0000-00-00 값을 저장할 수 있다. ​ NO_ZERO_IN_DATE enable: date의 month 또는 day 부분에 0이 입력되면 invalid date로 인식한다. disable: 2022-12-00 또는 2022-00-01과 같은 형태의 date 입력이 가능하다. ​ MySQL 5.7, 8.0 이상의 버전에서는 아래와 같은 테이블을 생성하고 데이터를 넣지 않은 상태에서 mysql > CREATE TABLE `new_table` ( `id_table` int(11) NOT NULL AUTO_INCREMENT, `text_table` varchar(45) DEFAULT NULL, `date_table` date DEFAULT NULL, PRIMARY KEY (`id_table`) ) ENGINE=InnoDB 다음의 WHERE절 조건을 가진 쿼리를 수행하면, mysql > SELECT id_table, text_table FROM new_table WHERE date_table = '' OR mysql > SELECT id_table, text_table FROM new_table WHERE date_table = '0000-00-00' Incorrect date value라는 오류가 발생한다. 데이터를 넣는 경우에도 마찬가지이다. 반면에 MySQL 5.6 버전 에서는 경고(Warning)...