반응형

mariadb 68

프라이머리 키 없이 테이블을 만들고 프라이머리 키를 추가할 경우 프라이머리 키는 클러스터된 인덱스입니까?

프라이머리 키 없이 테이블을 만들고 프라이머리 키를 추가할 경우 프라이머리 키는 클러스터된 인덱스입니까? 인덱스 시작: 기본 키에서 다음과 같이 표시됩니다. InnoDB 테이블에서 모든 인덱스는 접미사로 기본 키를 포함합니다.따라서 이 스토리지 엔진을 사용할 때는 기본 키를 가능한 한 작게 유지하는 것이 특히 중요합니다.기본 키가 존재하지 않고 고유 인덱스가 없는 경우 InnoDB는 사용자에게 보이지 않는 6바이트 클러스터 인덱스를 생성합니다. 기본 키가 없으면 숨겨진 클러스터 인덱스로 테이블을 만듭니다.그리고 나중에 같은 섹션에서 몇 개의 단락에서 다음과 같이 설명합니다. CREATE INDEX 명령을 사용하여 기본 키를 생성할 수 없습니다.테이블이 이미 작성된 후에 추가할 경우 ALTER TABLE을..

source 2023.01.15

하위 쿼리에서 WHERE를 삭제할 수 없습니다.

하위 쿼리에서 WHERE를 삭제할 수 없습니다. MariaDB 10.4.12를 사용하여 DELETE 스테이트먼트를 실행하려고 합니다.이 스테이트먼트는 서브쿼리를 기반으로 합니다. DELETE FROM `mydb1`.`mytable1` WHERE `my_id` IN ( SELECT `TABLE_ID` FROM `TABLES_CT` WHERE `TABLE_NAME` = 'tableName'AND `TABLE_ACTION` IN ('D', 'U') ); 이 작업을 실행하면 30초 후에 타임아웃이 됩니다.information_schema.innodb_lockwaits 와 innodb_trx 를 보면, 같은 DELETE 스테이트먼트가 2개의 다른 스레드에서 차단되고 있습니다. SELECT로 실행하면 1밀리초 안에..

source 2023.01.15

조타 도표에서 /docker-entrypoint-initdb.d에 액세스하는 방법

조타 도표에서 /docker-entrypoint-initdb.d에 액세스하는 방법 https://github.com/helm/charts/tree/master/stable/mariadb#initialize-a-fresh-instance의 공식 조타 차트를 사용하여 MariaDB의 새로운 인스턴스(/docker-entrypoint-initdb.d에 .sql 파일을 저장)를 초기화하려고 합니다. 하지만 설명서가 상당히 불분명합니다. 스크립트를 실행하려면 해당 스크립트가 차트 폴더 내에 있어야 합니다.files/docker-entrypoint-initdb.dConfigMap으로 사용할 수 있습니다. 제가 하는 일은 마리애드브 클러스터를 셋업하기 위해서helm install --name my-release st..

source 2023.01.15

재귀 SQL 쿼리의 무한 루프

재귀 SQL 쿼리의 무한 루프 누군가 내 문제를 어떻게 해결해야 할지 조언해 줄지도 몰라.왜 이런 일이 일어나는지, 어떻게 해결해야 할지 모르겠어요.내 생각에 내 SQL 코드가 작동하지 않는 이유는 무한 루프 상태가 되기 때문이다.테이블이 있습니다. CREATE TABLE `c_logistics_tran_group3` ( `ltrgr_id` int(10) UNSIGNED NOT NULL, `ltrgr_lagr_id` int(10) UNSIGNED NOT NULL, `ltrgr_ltran_id` int(10) UNSIGNED NOT NULL, `ltrgr_created` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARS..

source 2023.01.15

두 날짜 사이의 시간을 찾을 수 없습니다 MySQL

두 날짜 사이의 시간을 찾을 수 없습니다 MySQL 데이터베이스에 테이블이 있고 테이블 date1과 date2에 2개의 날짜 열(varchar)이 있습니다.date1과 date2의 시간 차이를 찾고 싶습니다.데이터베이스는 mariadb를 사용하여 작성됩니다. 이미 해봤어: timediff('date1','date2') 하지만 무효가 된다.이 문제는 열 이름을 String으로 전달하고 있기 때문에 해석할 수 없다는 것입니다.컬럼에서 따옴표를 삭제하면 매력적으로 실행됩니다. SELECT timediff(date1, date2) from TABLE 편집:- STR_ 사용문자열을 날짜 유형으로 변환하는 TO_DATE() 메서드...그래서 당신의 마지막 질문입니다. SELECT timediff(STR_TO_DAT..

source 2023.01.15

chown: '/var/lib/mysql/' 소유권 변경: 작업이 허용되지 않습니다.

chown: '/var/lib/mysql/' 소유권 변경: 작업이 허용되지 않습니다. openshift origin에 mariadb 이미지를 전개하려고 합니다.도커 파일에서 mariadb:10.2.12를 사용하고 있습니다.로컬에서는 정상적으로 동작합니다만, openshift origin에 전개하려고 하면, 다음의 에러가 표시됩니다. 데이터베이스 차단을 초기화하는 중: '/var/lib/mysql/' 소유권 변경: 작업이 허용되지 않음 데이터베이스 디렉토리의 소유권을 'mysql' 사용자에게 변경할 수 없습니다.필요한 권한이 있는지 확인하고 다시 시도하십시오. chown 명령어는 mariadb:10.2.12 Docker 파일에서 가져옵니다. 처음에는 root user 문제가 있어서 openshift ori..

source 2023.01.09

여기서 구는 조건을 건너뜁니다.

여기서 구는 조건을 건너뜁니다. 저는 현재 호텔 홈페이지를 만드는 프로젝트를 진행하고 있으며, 예약에 대한 개요 작업을 하고 있습니다. 현재 중요한 단계를 건너뛰고 작동하지 않는 쿼리에 대해 해결책을 가진 사람이 있습니까? 괄호를 바꾸고 구글에서 검색해 봤지만 아무것도 찾지 못했다. SQL select * from reservations where room_id = 1 and (CURRENT_DATE > reservation_start AND CURRENT_DATE reservation_start - 7); 현재 그것은 주어진 방이 아니라 모든 방을 차지하고 있다.CURRENT_DATE 조건 주위에 괄호를 둘 필요가 있습니다.and보다 ..

source 2023.01.09

높은 CPU 소비량 MySQL

높은 CPU 소비량 MySQL easyengine + wp + redis를 갖춘 워드프레스 뉴스 포털을 가지고 있는데, 퍼포먼스 문제가 있는 날이 며칠이 되면 mysql이 CPU 사용량을 많이 소비합니다.이 문제를 해결하기 위해 50만 명 이상의 게시물을 올립니다. print cpu https://prnt.sc/jgkpwy 서버 상세 Ubuntu 16.04 - 최소 - RAID 1 하드디스크 256 GB SSD 2.5 인치 하드디스크 256 GB SSD 2.5 인치 RAM 32 GB CPU Intel Xeon E3-1225v3 mysql 설정 my.cnf # MariaDB database server configuration file. # # You can copy this file to one of: ..

source 2023.01.09

SQL Provier를 dotnet core 3.1 MySQL(실제로는 MariaDB)에서 작동시키는 방법

SQL Provier를 dotnet core 3.1 MySQL(실제로는 MariaDB)에서 작동시키는 방법 MariaDB 서버를 타겟으로 하는 SQLProvider에 대한 nuget 참조를 가진 dotnet core 3.1 프로젝트가 있습니다.커뮤니티에서 만든 패키지 MySqlConnector를 추가했습니다.내 F# 코드는 open FSharp.Data.Sql [] let connString = "Server=192.168.128.7;Database=market_data;Uid=****;Pwd=****;Port=3307;AllowLoadLocalInfile=true" [] let dbVendor = Common.DatabaseProviderTypes.MYSQL [] let resPath = "__SOUR..

source 2022.12.25

데이터베이스에서 생성된 열 값을 JPA 및 최대 절전 모드에서 읽기 전용 필드로 정의하는 방법은 무엇입니까?

데이터베이스에서 생성된 열 값을 JPA 및 최대 절전 모드에서 읽기 전용 필드로 정의하는 방법은 무엇입니까? MariaDB 10.2에서는 Datetime의 기본값을 정의할 수 있습니다(예: created 및 lastModified). 이 열에 읽기 전용 필드로 액세스하는 방법을 선택하십시오.이 값은 데이터베이스에서만 관리되어야 하며 코드에서 수정해서는 안 됩니다. 단, 코드에서 이 속성에 대한 읽기 액세스를 원합니다. 간단해요.설정만 하면 됩니다.insertable그리고.updatable의 특성false. @Column( name = "created_on", insertable = false, updatable = false ) private Timestamp createdOn; 다음을 사용할 수 있습니..

source 2022.12.25
반응형