반응형

MySQL 102

MySQL에서 Lock wait timeout exceededed를 디버깅하는 방법

MySQL에서 Lock wait timeout exceededed를 디버깅하는 방법 실가동 에러 로그에 다음과 같이 표시되는 일이 있습니다. SQLSTATE[HY000]: 일반 오류: 1205 잠금 대기 시간 초과. 트랜잭션 재시작을 시도하십시오. 어떤 쿼리가 그 시점에 데이터베이스에 접속하려고 하는지 알고 있습니다만, 어떤 쿼리가 그 시점에 잠겼는지 알 수 있는 방법이 있습니까?이것을 드러내는 것은 단어 거래이다.쿼리가 하나 이상의 InnoDB 테이블에서 적어도1개의 행을 변경하려고 시도하고 있는 것을 알 수 있습니다. 쿼리를 알고 있기 때문에 액세스하는 모든 테이블이 범인으로 간주됩니다. 「」를 실행할 수 됩니다.SHOW ENGINE INNODB STATUS\G 해당 테이블을 볼 수 있어야 합니다. ..

sourcecode 2023.01.10

MySQL의 외부 키 기본 사항

MySQL의 외부 키 기본 사항 MySQL의 외부 키 구조를 사용하는 방법에 대한 좋은 설명이 있습니까? MySQL 문서 자체에서는 잘 모르겠습니다.지금까지 join이나 프로그래밍 코드가 있는 외부 키 등을 취급해 왔습니다. 그리고 질문의 두 번째 부분은 MySQL의 내장된 외부 키를 사용하여 개선해야 할 점이 있습니까?FOREIGN KEYS이치노 효율성의 관점에서 쿼리를 개선하지 않고 잘못된 쿼리만 실패하게 합니다. 이런 관계일 경우: CREATE TABLE department (id INT NOT NULL) CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id)..

sourcecode 2023.01.10

mysql 테이블이 mysql을 사용하고 있는지 어떻게 알 수 있습니까?ISAM 또는 InnoDB 엔진

mysql 테이블이 mysql을 사용하고 있는지 어떻게 알 수 있습니까?ISAM 또는 InnoDB 엔진 MySQL에서는 특정 데이터베이스의 스토리지 엔진을 지정할 수 없으며 단일 테이블에 대해서만 지정할 수 있습니다.그러나 다음 항목과 함께 한 세션 동안 사용할 스토리지 엔진을 지정할 수 있습니다. SET storage_engine=InnoDB; 따라서 테이블별로 지정할 필요가 없습니다. 모든 테이블이 InnoDB를 사용하고 있는지 어떻게 확인할 수 있습니까?SHOW CREATE TABLE을 사용하는 경우 쿼리에서 엔진을 해석해야 합니다. INFORMATION_SCHEMA 데이터베이스에서 선택하는 것은 좋지 않습니다.개발자는 스키마를 언제든지 변경할 수 있는 권한을 가지고 있기 때문입니다(가능하지는 않지..

sourcecode 2022.12.06

임의의 IP 주소에서 MySQL 데이터베이스 원격 액세스 허용

임의의 IP 주소에서 MySQL 데이터베이스 원격 액세스 허용 다음 명령어를 알고 있습니다. GRANT ALL PRIVILEGES ON database.* TO 'user'@'yourremotehost' IDENTIFIED BY 'newpassword'; 그러나 이 경우 특정 IP 주소만 허용하여 이 원격 MySQL 데이터베이스에 액세스할 수 있습니다.원격 호스트가 이 MySQL 데이터베이스에 액세스할 수 있도록 하려면 어떻게 해야 합니까?그걸 어떻게 하는 거죠?기본적으로 모든 사람이 접근할 수 있도록 이 데이터베이스를 공개합니다.TO 'user'@'%' 입니다.%를 사용할 수도 .하다'%.domain.example' ★★★★★★★★★★★★★★★★★」'%.123.123.123'이데올로기 때문에Enable..

sourcecode 2022.12.06

MySQL my.ini 위치

MySQL my.ini 위치 저는 이미 http://dev.mysql.com/doc/refman/4.1/en/mysql-config-wizard-file-location.html을 보았습니다. mysql my.cnf 위치 확인 방법 그리고. http://dev.mysql.com/doc/refman/5.1/en/option-files.html my with5.528" where is my.ini" mysql 5.5.28" is my.ini" mysql 5.5.28" where is my.ini" Windows Server 2008 을 사용하고 있습니다.을 사용하여 mysqld --install을 사용하여 할 수 .도 my 수 .installation directory or에 없습니다.c:\ 쪽도 아니다c:..

sourcecode 2022.12.06

MySQL: 쿼리 결과에서 사용자 변수 설정

MySQL: 쿼리 결과에서 사용자 변수 설정 MySQL 조회 결과에 따라 사용자 변수를 설정할 수 있습니까? 제가 달성하고 싶은 것은 이런 것입니다(둘 다USER그리고.GROUP고유) : set @user = 123456; set @group = select GROUP from USER where User = @user; select * from USER where GROUP = @group; 가능한 것은 알지만, 네스트된 쿼리에 대해서는 하고 싶지 않습니다.예, 단 변수 할당을 쿼리로 이동해야 합니다. SET @user := 123456; SELECT @group := `group` FROM user WHERE user = @user; SELECT * FROM user WHERE `group` = @g..

sourcecode 2022.11.26

ERROR 1698 (28000):사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다.

ERROR 1698 (28000):사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다. 새로운 서버를 셋업하고 있는데 이 문제가 계속 발생하고 있습니다. 루트 사용자와 함께 MySQL 데이터베이스에 로그인하려고 하면 다음 오류가 나타납니다. ERROR 1698 (28000):사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다. 터미널(SSH), phpMyAdmin 또는 MySQL 클라이언트(예: Navicat)를 통해 연결해도 상관 없습니다.모두 실패한다. mysql.user 테이블에서 다음 내용을 확인했습니다. +------------------+-------------------+ | user | host | +------------------+---------..

sourcecode 2022.11.26

날짜보다 큰 연산자를 사용하는 방법

날짜보다 큰 연산자를 사용하는 방법 여기서 무슨 일이 일어나고 있는지 모르겠다.다음은 phpMyAdmin의 질의입니다. SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18'; 그러나 2012-11-01 시작일을 포함한 테이블의 모든 레코드는 항상 반환됩니다.왜 그러고 있어?당신은 가입했다start_date작은 따옴표로 인해 문자열이 됩니다.backtick대신 SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18'; SQLFiddle 데모 스테이트먼트에서는 start_date라는 문자열을 시각과 비교하고 있습니다. start_date가 열일 경우 다음 중 하나여야 합니다. SELECT * FROM..

sourcecode 2022.11.26

SELECT를 사용할 때 MySQL BIT 필드 값을 볼 수 없습니다.

SELECT를 사용할 때 MySQL BIT 필드 값을 볼 수 없습니다. my_table를 포함합니다.enabled다음과 같이 정의된 필드:enabled BIT NOT NULL DEFAULT 0. 이 테이블에는 다음 행이 여러 개 있습니다.enabled = b'0', 및 여러 행이 있습니다.enabled = b'1'. 단, 이 두 가지 모두 다음과 같습니다. SELECT * from my_table WHERE enabled = b'0'; 또, 이하와 같이 됩니다. SELECT * from my_table WHERE enabled = b'1'; 에 아무것도 나타내지 않다enabled열: +----+---------+ | id | enabled | +----+---------+ | 1 | | | 2 | | +..

sourcecode 2022.11.17

MySQL의 그룹화 전 순서

MySQL의 그룹화 전 순서 여기서 비슷한 질문들을 많이 찾을 수 있지만 나는 어떤 질문도 그 질문에 적절하게 대답하지 못한다고 생각한다. 저는 지금 가장 인기 있는 질문부터 이어서 괜찮다면 그들의 예를 들어 보겠습니다. 이 경우 데이터베이스의 각 작성자에 대한 최신 게시물을 가져오는 작업이 수행됩니다. 예제 쿼리는 항상 반환되는 최신 게시물은 아니기 때문에 사용할 수 없는 결과를 생성합니다. SELECT wp_posts.* FROM wp_posts WHERE wp_posts.post_status='publish' AND wp_posts.post_type='post' GROUP BY wp_posts.post_author ORDER BY wp_posts.post_date DESC 현재 승인된 답변은 다음과..

sourcecode 2022.11.17
반응형