본문 바로가기

MySQL7

[MySQL] ERROR 1045 (28000): Access denied for user 'xxx@'localhost' (using password: YES) ERROR 1045 (28000): Access denied for user 'xxx@'localhost' (using password: YES) MySQL 을 DBeaver 로 붙고 있는데 저 오류가 발생했다. > 👩‍🦰 access denied ????? 아니 내 계정에 권한이 없다구요? 했는데 찾아보니까.. 권한 문제가 아니라 비밀번호 오류 라고 하네... ㅎㅎㅎㅎㅎㅎㅎㅎ 작고 소중한 내 기억력이 비밀번호를 개인 비밀번호로 입력해서 발생했고 발급받은 비밀번호로 접속하니 해결 :) 하하. 2021. 6. 16.
[MySQL] Delete 쿼리 Syntax Error (delete query in subquery) MySQL 로 DELETE 쿼리를 날리는데 아래 에러가 발생했다. SQL Error [1093] [HY000]: You can't specify target table 'my_table_key' for update in FROM clause 음??????? 내가 아는 delete 문법에 어긋나지 않은 것 같은데...??? 하던 중 stackoverflow 에서 나와 같은 문제에 직면한 사람을 만났고, subquery 를 아래처럼 사용해야 한다고 답변을 받았다. (왤까? 이건 찾아봐야겠다.) -- error DELETE FROM my_table WHERE my_table_key IN ( SELECT jt.join_table_key FROM join_table jt RIGHT JOIN my_table mt .. 2021. 3. 19.
[MySQL] 대용량 데이터 select 시 limit 사용 주의점 대용량 데이터를 RDB 로 관리하던 중, 아래와 같이 limit offset 을 사용하며 select 할 때 문제가 있었다. -- 0부터 시작하는 offset 은 빨랐지만 SELECT * FROM my_table LIMIT 0, 5000; -- offset 이 높을수록 성능이 저하가 되었다. (속도 느림) SELECT * FROM my_table LIMIT 1000000, 5000; 조금만 구글링해도 나오는 원인이었는데.. 단순 LIMIT 는 인덱스를 타지 않아서 두번째 쿼리 같은 경우는 100만번까지 쿼리를 읽고 거기에서 5천개를 가져오는거라서 느릴 수 밖에 없었다. 그에 따른 해결방법은 아래와 같았음을 기록.. -- #1. SELECT * FROM my_table WHERE my_table_pk BE.. 2020. 12. 22.
[MySQL] expression #1 of SELECT list contains nonaggregated column ### Cause: java.sql.SQLSyntaxErrorException: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column '{{내컬럼}}'; this is incompatible with sql_mode=only_full_group_by ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column '{{내컬럼}}'; this is.. 2020. 7. 16.
[MyBatis] PK가 없으면 INSERT, 있으면 UPDATE -> LIST 로 처리하기 개발자라면 한 번 쯤은 들어봤을.. 있으면 INSERT, 없으면 UPDATE .. Model 을 하나씩 받아서 처리하면 더할나위 없이 좋겠지만, Model 을 List 로 받아서 처리해야 될 때도 있다. 여기까진 단순하게 조금만 구글링하면 나온다. // in mapper void insertUserInfo(@Param("userInfoList") List userInfoList); // in xml INSERT INTO user_info ( user_no, user_id, user_name ) VALUES ( #{userNo}, #{userId}, #{userName} ) 근데 이제 여기서 userNo(PK라고 가정하자) 가 없으면 INSERT, 있으면 UPDATE 해야 된다면 ?? // in xml I.. 2020. 4. 2.
[MySQL] localhost root 비밀번호 까먹었을 때 (mac) MySQL 워크벤치에서 localhost DB 에 붙으려고 Connection 생성하는데 연결이 안된다 ㅠ.ㅠ 로컬에 MySQL 을 설치할 때 root 계정의 비밀번호를 뭐라고 설정했는지 까먹음... 😓 그럴 땐 이렇게 하자, (물론 사전에 mysql 이 실행 중 이라면 stop 시켜줘야 한다!) # STEP1. 터미널을 띄워 안전모드로 mysql 에 접속한다. (= root 계정으로 비밀번호 없이 접속이 가능하다.) $ sudo mysqld_safe --skip-grant-tables # STEP2. mysql 에 접속한다. $ mysql -u root # STEP3. 비밀번호를 변경해준다. mysql> UPDATE mysql.user SET authentication_string=PASSWORD("설.. 2020. 3. 2.