반응형 mysql error6 Mysql 에러 로그 출력 Mysql을 실행하는 동안 어떠한 이유에서 실행이 되지 않거나 연결이 끊어지는 경우가 있는데 개발자는 왜 어떠한 이유로 문제가 발생하는지를 추적해야 하기 때문에 오늘 포스팅의 에러 출력에 대한 내용이 중요합니다. Mysql 라이브러리에서는 기본적으로 연결된 소켓의 에러 정보를 출력할 수 있는 함수를 제공하는데 mysql_error() 라는 함수입니다. mysql_error(&connection); 해당 함수에 들어가는 인자는 현재 프로그램에서 Mysql 연결할 때 선언한 MYSQL 포인터 변수입니다. MYSQL *connection; 간단하게 예를들어서 DB를 Select 하는 구문에서 에러가 발생할 경우에 해당 함수를 가지고 에러내용을 출력하는 방법을 알아보겠습니다. int iStatus; char s.. 2022. 2. 9. Every derived table must have its own alias 에러 해결 php를 통한 Mysql 접근에서 union문을 통해 쿼리를 실행하였습니다. select count(*) from (select * from A_table union all select * from B_table) 해당 구문은 실행되지 않고 다음과 같은 에러가 발생하였습니다. Every derived table must have its own alias 에러의 내용은 작성한 쿼리의 내용에 서브 쿼리가 존재하지 않기 때문에 발생하는 에러라는 내용으로 select 구문 으로 가져오는 괄호 안쪽 내용이 서브 쿼리이기 때문에 명시적으로 지정을 해주어야 한다는 뜻입니다. select count(*) from (select * from A_table union all select * from B_table)A 괄호.. 2022. 1. 11. mysql_safe Starting mysqld daemon with database from /var/lib/mysql error 해결 리눅스 서버에 Mysql을 설치 후 아래와 같이 에러가 발생했을 때 해결방법입니다. 에러 내용 첫 번째로 빨간 줄 Failed to start LSB: start and stop MariaDB 간단하게 말해서 MariaDB 시작을 실패했다는 소리로 크게 에러 내용으로 참고할만한 건 없어 보입니다. 두 번째로 참고해야 될 내용은 위쪽에 있습니다. mysql_safe Starting mysqld daemon with database from /var/lib/mysql 이 내용의 핵심은 /var/run/mysqld/mysqld.pid를 생성하지 못해서 생기는 문제로 해당 파일을 생성해서 mysql에게 소유권을 주기만 하면 해결이 됩니다. cd /var/run mkdir mysqld chown mysql mys.. 2021. 11. 15. Mysql Foreign key checks Mysql 관리 도중 마주친 아래와 같은 에러 문구 해결방법에 대해 알아보겠습니다. ERROR: cannot truncate a table referenced in a foreign key constraint 해당 에러가 나는 이유는 비교적 간단합니다. 바로 의미자체가 외래 키 제약 조건 위반 또는 해당 쿼리 실행이 안된다는 의미입니다. 하지만 Mysql 에서는 이 제약 조건 자체를 무시하는 방법이 있습니다. 비교적 간단한데요. 바로 아래명령을 통해 가능합니다. set foreign_key_checks = 0; 이것은 바로 외래 키 제약 조건을 무시하겠습니다 라는 뜻으로 외래 키 제약조건에 해당하는 모든 action이 가능해집니다. 자 그럼 아래 순서대로 action을 실행해 주시면 되겠습니다. 1. s.. 2021. 10. 12. Duplicate entry for key 'PRIMARY' Mysql을 사용하면서 격는 가장 흔한 문제 중 Insert나 Update를 하려 하는데 아래와 같은 문구를 많이 접하게 됩니다. Duplicate entry '0' for key 'PRIMARY' 이건 말 그대로 내가 Insert 나 Update하기 위한 값이 Primary 값이라 동일한 값으로 쿼리문을 실행 할 수 없다는 의미입니다. 예를들어 위와같이 테이블이 작성되어 있고 여기에서 이름이 PRIMARY 값으로 설정되어 있다고 가정하면 Insert into A테이블 set 이름 values 영심이 이렇게 영심이는 이름 항목에 겹치는 이름이 없기 때문에 문제없이 쿼리문이 잘 실행됩니다. 하지만 아래와 같이 실행해도 과연 잘 실행될까? Insert into A테이블 set 이름 values 맹구 이렇게 .. 2021. 9. 13. Failed to start MariaDB 리눅스 CentOS7 MariaDB를 사용하려고 하는데 다음과 같은 에러가 발생했습니다. 원인이 되는 내용을 보니 innoDB를 실행하는데 문제가 있는 것 같아서 찾아보니 구글에서는 여러가지 내용들을 찾을 수 있었지만 근본적인 해결책이 되는 내용은 찾지 못했습니다. 먼저 MariaDB 설치 순서에 대해 말씀드리면 아래와 같습니다. vim /etc/yum.repos.d/MariaDB.repo 파일 내용을 다음과 같이 작성하고 yum install -y MariaDB-server MariaDB-client 명령을 통해 설치를 합니다. 여기까지 설치 한 후 systemctl start mysql 명령을 실행하면 잘 동작하는 것을 확인할 수 있습니다. 그런 다음 /etc/my.cnf 파일에서 default-st.. 2021. 8. 30. 이전 1 다음 반응형