반응형

MariaDB 61

원격 데이터베이스가 있는 Laravel의 여러 데이터베이스

원격 데이터베이스가 있는 Laravel의 여러 데이터베이스 저는 mariadb 데이터베이스(10.4.12)로 PHP Laravel(7.7.1) 프로젝트를 하고 있습니다. 사실, 저는 데비안 스트레치(9.11)의 가상 개인 서버에서 Macos Catalina(10.15.4)의 로컬 mariadb 데이터베이스(10.4.12)와 함께 원격 mariadb 데이터베이스(10.1.44)를 사용하려고 합니다. 문제는 제 라라벨 프로젝트가 원격 데이터베이스에 접근할 수 없다는 것입니다. 저는 ssh 터널을 사용하는 것이 가장 좋은 해결책이라고 보았지만 아무 해결책도 저에게 적용되지 않았습니다. 이것은 나의.env파일 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DAT..

programing 2023.09.08

라틴 1 콜렉션 느린 쿼리가 있는 테이블, utf8mb4로 빠름 - 왜?

라틴 1 콜렉션 느린 쿼리가 있는 테이블, utf8mb4로 빠름 - 왜? 표 A는 열 12개의 열이 있는 25k 행으로, 총 데이터의 약 8mb가 latin1로 설정됩니다. 표 B에는 20개의 열이 있는 2000개의 행이 있으며, 총 데이터의 약 5mb가 outf8mb3로 설정됩니다. 둘 사이의 내부 결합을 수행하면 전체 쿼리 시간은 1.3초입니다.이제 테이블 A를 utf8mb4를 사용하도록 전환하면 동일한 쿼리에 대한 쿼리 시간은 0.05초입니다. 콜렉션/차셋 때문에 쿼리 시간에 왜 이렇게 큰 차이가 나는 것일까요?언급URL : https://stackoverflow.com/questions/72484747/table-with-latin1-collation-slow-query-fast-with-utf8..

programing 2023.09.08

MariaDB/MySQL tmp 테이블이 전체 디스크 공간을 사용하고 있습니다.

MariaDB/MySQL tmp 테이블이 전체 디스크 공간을 사용하고 있습니다. 약 4GB 크기의 데이터베이스가 하나 있고, GROUP_BY, GROUP_CONCAT 등의 너무 복잡한 보기가 하나 있습니다. 이 보기를 쿼리할 때 MariaDB10이 디스크 임시 파일(/tmp)에 생성되는 경우가 있습니다.파일 크기가 40GB 이상입니다. 끝이 없는 것 같습니다.이러한 파일이 생성되는 이유는 이해하지만, 왜 이 파일이 우리가 가지고 있는 모든 데이터보다 큰지는 이해할 수 없습니다. 재귀적 결합이 그것의 원인일 가능성이 있습니까?왜 매번 일어나는 것이 아니라 가끔 일어나는 것일까요?(캐시 크기, 버퍼 ?) 구성을 통해 이러한 상황을 방지할 수 있는 방법이 있습니까?이런 종류의 테이블은 얼마나 클 수 있습니까?..

programing 2023.09.03

휴일과 주말을 제외한 두 날짜 사이의 날짜를 어떻게 계산합니까?

휴일과 주말을 제외한 두 날짜 사이의 날짜를 어떻게 계산합니까? 저는 인사관리 프로젝트를 시작했고 휴일과 주말을 제외하고 두 날짜 사이의 날짜를 세고 싶습니다.그래서 인사부에서 직원들의 쉬는 날을 계산할 수 있습니다. 이런 경우가 있습니다, 저는 그 사이에서 계산하고 싶습니다.2018-02-14그리고.2018-02-20회사의 휴일이 있는 곳.2018-02-16결과는 3일이 되어야 합니다. 다음 테이블을 이미 만들었습니다.tbl_holiday내가 그곳에서 1년에 모든 주말과 휴일을 보내는 곳. 이 게시물을 찾아서 마리아에게 써봤어요DB 제 질문은 이렇습니다. SELECT 5 * (DATEDIFF('2018-02-20', '2018-02-14') DIV 7) + MID('01234444012333340122..

programing 2023.09.03

MariaDB가 odbc.ini의 DSN에 연결합니다.

MariaDB가 odbc.ini의 DSN에 연결합니다. MariaDB를 사용하여 Java에서 DSN으로 연결하려고 합니다. DSN을 사용하지 않으면 작동합니다. Class.forName("org.mariadb.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mariadb://:/", ,); 하지만 mariadb가 odbc.ini에 지정된 호스트와 포트를 사용하기를 원하지만 작동할 수 없습니다. 여러 가지 방법을 시도해 보았지만 효과가 없었고, 인터넷에서 아무것도 찾을 수 없었습니다. 예: Connection conn = DriverMana..

programing 2023.09.03

PHP 및 InnoDB 엔진을 사용하는 mysqli_rollback()의 문제

PHP 및 InnoDB 엔진을 사용하는 mysqli_rollback()의 문제 코드 내부 롤백에 문제가 있습니다. PHP를 사용하고 있으며 모든 테이블의 엔진은 InnoDB입니다.아래는 제 PHP 코드의 일부입니다. mysqli_autocommit($conn,FALSE); mysqli_query($conn, "START TRANSACTION"); mysqli_query($conn, $Query_insert1); mysqli_query($conn, $Query_insert2); mysqli_query($conn, $Query_create1); mysqli_rollback($conn); 두 번째 삽입이 실패하면 롤백 삽입이 될 것으로 예상되지만 그렇지 않습니다.begin_transaction()을 사용할 수..

programing 2023.08.29

데이터베이스에서 JPA를 사용하여 쉼표로 구분된 값을 얻는 방법

데이터베이스에서 JPA를 사용하여 쉼표로 구분된 값을 얻는 방법 여기에 이미지 설명 입력 현재 데이터베이스 데이터를 가져오는 데 문제가 있었습니다.이는 fileIdx 열이 쉼표로 구분된 값이었기 때문입니다. 문제는.. Caused by: java.sql.SQLException: Out of range value for column 'fileidx7_4_' : value 322,323 at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalLong(TextRowProtocol.java:349) at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet...

programing 2023.08.24

사용자 'root'@'172.19.0.2'(암호 사용: YES)에 대한 액세스가 거부되었습니다(윈도우즈의 경우 도커).

사용자 'root'@'172.19.0.2'(암호 사용: YES)에 대한 액세스가 거부되었습니다(윈도우즈의 경우 도커). 도커 컨테이너를 실행하려고 하는데 다음 오류가 발생합니다. 2022-12-21 22:49:28 Running Rboxlo on port 80 2022-12-21 22:49:28 SqlError: (conn=6, no: 1045, SQLState: 28000) Access denied for user 'root'@'172.19.0.2' (using password: YES) 2022-12-21 22:49:28 text: "(conn=6, no: 1045, SQLState: 28000) Access denied for user 'root'@'172.19.0.2' (using password..

programing 2023.08.24

MariaDB: 새 레코드 쓰기를 조건부로 중단하는 삽입 전 트리거

MariaDB: 새 레코드 쓰기를 조건부로 중단하는 삽입 전 트리거 문제의 책이 이미 대출된 경우 라이브러리 데이터베이스에 대한 새 레코드 쓰기를 중단하는 트리거를 만들려고 합니다.지금까지 확인한 내용은 다음과 같습니다. CREATE TRIGGER OnlyOneBorrowerAtATime BEFORE INSERT ON Transaction FOR EACH ROW BEGIN IF (EXISTS ( SELECT * FROM Transaction WHERE NEW.bookId = Transaction.bookId AND Transaction.transType = 'Loaned')) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Book has not been retur..

programing 2023.08.24

도커 컨테이너 노드의 maridia db galera 클러스터 문제

도커 컨테이너 노드의 maridia db galera 클러스터 문제 IP 주소가 11.11.20.2 및 11.11.30.2인 서로 다른 호스트를 가진 두 개의 노드로 MariaDB galera 클러스터를 설정하려고 합니다.이 두 호스트는 서로 ping을 수행할 수 있으며 데이터베이스는 Docker-Compose 및 바인딩된 포트 4567444568 3306을 통해 시작되었습니다.지난 며칠 동안 저를 괴롭혔던 문제는 컨테이너 노드가 서로를 볼 수 없다는 것이고, 도커 노드를 외부에서 볼 수 있도록 도커에 대한 wsrep_node_address 및 wsrep_sst_receive_address 변수 값을 어떻게 설정해야 할지 모르겠습니다.또한 MariaDB가 컨테이너의 내부 IP 주소로 잘못 이동하는 것을 ..

programing 2023.08.19
반응형