• [ Solved ] set foreign_key_checks = on phpmyadmin

    [ Solved ] set foreign_key_checks = on phpmyadmin

    Error
    Static analysis:
    
    1 errors were found during analysis.
    
    Missing expression. (near "ON" at position 25)
    SQL query: Edit Edit
    
    SET FOREIGN_KEY_CHECKS = ON;
    
    MySQL said: Documentation
    
    #2006 - MySQL server has gone away

    (Korean)

    이 에러는 복합적인 문제로 두가지를 동시에 확인해야합니다.

    첫번째로 확인해야할 부분은 외래키 사용이 On으로 되어져있기때문에 테이블 작업시 에러가 발생하는 것입니다.

     

    SET foreign_key_checks = 0;
    -- run some queries
    SET foreign_key_checks = 1;

     

     

    당연히 Sql 시작 구문에 SET FOREIGN_KEY_CHECKS = OFF; 혹은 숫자 0을 지정하고 마지막 부분에 ON; 또는 숫자 1을 지정하면 해결됩니다.

    하지만 다른 문제로 인해서 위의 문구가 발생하는 경우가 있습니다.

    바로 max allowed packet 최대 허용 패킷 크기때문입니다.

     

    제 경우에는 운영하는 서버환경설정의 max allowed packet 값이 1000K 으로 지정되어져있었습니다.

    이것을 5000K 혹은 그 이상으로 잡아주게되면 쿼리문을 입력할때 문자열이 길어서 제약위반이 되는것을 방지 할 수 있습니다.

    vi /etc/my.cnf
    
    max_allowed_packet=5000K

     

    wq! 눌러서 저장하고 나간다음 MySql (MariaDB) 재시작을 하면 됩니다.

    service mariadb restart
    
    service mysqld restart

    이제 phpmyadmin 에서 확인해보면 max allowed packet 값이 5000K (5,120,000) 들어간것을 확인 할 수 있습니다.

     

    그리고 다시 DB를 복원해보시면 이제는 정상적으로 해결되어 데이터가 잘 들어갈겁니다.

    set foreign_key_checks = on

    모두 해결되셨나요?

  • [Solved] 1273 – unknown collation ‘utf8mb4_unicode_520_ci’

    [Solved] 1273 – unknown collation ‘utf8mb4_unicode_520_ci’

    Error from phpMyAdmin or MySQL QueryString

    1273 - unknown collation 'utf8mb4_unicode_520_ci'

     

    The following error occurred during DB operation while working on relocating WordPress homepage.

    The reason is that utf8mb4_unicode_520_ci encoding is an unknown collection.

     

    (Korean)

    워드프레스 홈페이지 이전 작업도중 DB작업에서 아래와같은 에러가 발생하였습니다.

    그 원인으로는 utf8mb4_unicode_520_ci 인코딩이 알수없는 콜렉션이라고 나온것입니다.

     

    As a way to resolve this, you can either match the MySQL version to the same or just match it to the existing encoding of MySQL you are using now.

    Because changing the version is too risky, we have chosen to modify the string of backup data.

     

    (Korean)

    이것을 해결하기 위한 방법으로 MySQL 버전을 동일하게 맞추거나 혹은 지금 사용중인 MySQL의 존재하는 인코딩으로 맞춰주기만 하면됩니다.

    버전을 바꾸는것은 위험부담이 너무 크기때문에 우리는 백업 데이터의 문자열을 수정하는 방법을 선택하여 해결하였습니다.

     

    You replaced the string with Replace All and entered it again in the DB.

    Everything’s settled.

    WordPress is now working normally.

    Thank you 🙂

     

    (Korean)

    모두 바꾸기로 문자열을 바꾸었으며 다시 DB에 입력하였습니다.

    모든것이 해결되었군요.

    이제 워드프레스가 정상적으로 동작합니다.

     

    감사합니다 🙂