본문 바로가기

Programming/DB_MySQL

[mysql] 비밀번호 분실 했을때 초기화 (8.0버전) mysql uroot -p 를 통해 접속하려는데 비밀번호가 틀리다고 접속이 안된다. 비밀번호를 재설정하자. 1. 작업관리자에서 mysql 혹은 mysqld를 종료 2. MySQL이 설치된 경로로 이동 관리자 권한으로 cmd를 실행한다. where mysql 를 입력하면 mysql이 설치된 경로를 알아낼 수 있다. 이렇게 mysql이 저장된 경로를 받아온 뒤(전체 경로에서 mysql.exe를 빼야 한다.) cd [경로]를 입력하여 해당 경로로 이동한다. 3. 이동한 경로에서 mysqld.exe --skip-grant-tables --console --shared-memory를 입력 이 때 Can't create test file 에러가 발생했다.(일반적으로 발생하지 않는듯 하다.) 이런 에러가 발생할 경우.. 더보기
[mysql] DBeaver 에서 MySQL 연결 시 "Public Key Retrieval is not allowed" 해결하기 Docker로 MySQL Container 를 띄우고, DBeaver로 Connect 하려고하는데 Public Key Retrieval is not allowed 문구가 보이면서, 연결에 실패한다. 검색해보니 MySQL 8.0 이상부터 생길 수 있는 문제라고 한다. 이럴 때는 Driver properties 에 추가 정보를 제시하면 된다. 아래 그림대로 쭉쭉 따라가면 해결될 것이다. 🍀 방법1 connect to a database 창에서 Driver properties 탭을 클릭 화면에 마우스 오른쪽 클릭 후, Add new property 를 클릭 프로퍼티 값을 위 그림 처럼 추가해준다. allowPublicKeyRetrieval=true useSSL=false 참고: 위 그림처럼 화면이 안 나오면?.. 더보기
MySQL에서 multi row를 insert 하는 방법 대량으로 insert를 수행하다 보면 성능을 고려하게 된다.MySQL에서는 multi row을 어떻게 빠르게 insert 할 수 있을까? One Transaction 처리Insert ~ SelectBulk InsertLOAD DATA INFILE 구글링을 해 보니 4가지로 요약되는 것 같다. One Transaction 처리 start transaction;insert into tb_name (a, b, c) values (1, 2, 3);insert into tb_name (a, b, c) values (1, 2, 3); insert into tb_name (a, b, c) values (1, 2, 3); commit transaction;하나의 트랜젝션으로 묶어서 처리하는 방식이다. SQL로 표현했지.. 더보기