programing

MySQL ERROR 1231(42000):변수 'character_set_client'를 'NULL' 값으로 설정할 수 없습니다.

telebox 2023. 7. 26. 21:48
반응형

MySQL ERROR 1231(42000):변수 'character_set_client'를 'NULL' 값으로 설정할 수 없습니다.

나는 있습니다.MySQL 5.0.84슬랙웨어 13.0에서 실행Staging서버에서 Ubuntu 14.04 OS를 사용하여 다른 테스트를 수행하도록 구축된 다른 서버로 단일 테이블을 복사하려고 했습니다.저는 지금까지.mysqldump그 테이블의 그리고 복사된.testing server덤프 파일을 복원할 때 다음 오류가 발생합니다.

ERROR 1231 (42000):Variable 'character_set_client' can't be set to the value of 'NULL'

이 오류를 해결하는 방법을 도와주세요.감사합니다!

인터넷에서 검색을 좀 해보고 드디어 고쳤습니다.

mysqdump 파일의 시작 부분에 다음 텍스트를 추가하여 복원에 성공했습니다.

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

수정했습니다.

/*!40101 SET character_set_client = @saved_cs_client */;

로.

/*!40101 SET character_set_client = 'utf8' */;

덤프 파일에서 테이블 만들기 코드 뒤에 있습니다.

다음을 입력하여 허용되는 최대 패킷 크기를 일시적으로 높게 설정합니다.

mysql> set global max_allowed_packet=10000000000;

/via http://injustfiveminutes.com/2013/02/14/errors-restoring-mysql-database-dump-on-wamp-environment/ http://injustfiveminutes.com/2013/02/14/errors-restoring-mysql-database-dump-on-wamp-environment/

가는 길에, .sql 파일을 열고, 결국, do del:

  /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

그리고 다시 소스를 구하면 저를 위해 잘 작동합니다!

모든 답변 덕분에 문제를 해결하는 데 도움이 되었습니다.하지만 위에서 코드를 복사해서 붙여넣는 것은 저에게 효과가 없었습니다.그래서 데이터베이스에 이미 있는 sql 파일을 내보냈고 거기서 코드를 가져와서 sql 파일의 시작 부분에 다음을 추가하여 가져왔습니다.

-- phpMyAdmin SQL Dump
-- version 4.7.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Aug 16, 2017 at 07:24 AM
-- Server version: 10.1.25-MariaDB
-- PHP Version: 7.1.7

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

왜냐하면 제 sql 문서에 이 상단 섹션이 누락되었기 때문입니다.그런 다음 가져오기에 성공했습니다.이것이 다른 사람에게도 도움이 되길 바랍니다.

에서 바꿨습니다.

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

로.

/*!40101 SET CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

그것은 나에게 효과가 있었다.

저는 SQL 덤프 파일의 시작 부분에 이 3줄을 추가하여 작업했습니다.

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

언급URL : https://stackoverflow.com/questions/29112716/mysql-error-1231-42000variable-character-set-client-cant-be-set-to-the-val

반응형