Ubuntu 에서 MySQL 중국어 난 장 판 문제 해결

문제점 을 발견 하 다
최근 Django 를 배 웠 습 니 다.MySQL 데이터 와 공동으로 사용 하 는 데 이 터 를 삽입 할 때 다음 문제 가 발생 했 습 니 다.

/usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/mysql/base.py:109: Warning: Incorrect string value: '\xE6\x88\x90\xE5\x8A\x9F...' for column 'json' at row 1
 return self.cursor.execute(query, args)
[07/Feb/2017 12:15:21] "GET /index/ HTTP/1.1" 200 250
중국어 로 MySQL 데이터 베 이 스 를 삽입 할 수 없습니다~!~!
데이터베이스 인 코딩 보기

mysql> show create database bangjob;
+----------+--------------------------------------------------------------------+
| Database | Create Database    |
+----------+--------------------------------------------------------------------+
| bangjob | CREATE DATABASE `bangjob` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> show variables like'%char%';
+--------------------------+----------------------------+
| Variable_name | Value  |
+--------------------------+----------------------------+
| character_set_client | utf8  |
| character_set_connection | utf8  |
| character_set_database | latin1  |
| character_set_filesystem | binary  |
| character_set_results | utf8  |
| character_set_server | latin1  |
| character_set_system | utf8  |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
데이터베이스 인 코딩 수정

mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
수 정 된 결과 보기

mysql> show variables like'%char%';
+--------------------------+----------------------------+
| Variable_name | Value  |
+--------------------------+----------------------------+
| character_set_client | utf8  |
| character_set_connection | utf8  |
| character_set_database | utf8  |
| character_set_filesystem | binary  |
| character_set_results | utf8  |
| character_set_server | utf8  |
| character_set_system | utf8  |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
이 럴 때 계속 끼어 들 면 아무 문제 없어.
정말 이렇게 쉬 웠 으 면 좋 겠 습 니 다.이러한 수정 자 는 MySQL 을 다시 시작 한 후에 설정 이 효력 을 잃 었 기 때 문 입 니 다!!!
계속해서 다른 방법 을 찾다

sudo gedit /etc/mysql/my.cnf
my.cnf 파일 의 대응 노드 에 정 보 를 추가 합 니 다:

[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
그리고 MySQL 을 다시 시작 합 니 다:

/etc/init.d/mysql start
다시 시작 할 수 있다 면 데이터베이스 인 코딩 을 다시 볼 수 있 습 니 다:

mysql> show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name   | Value      |
+--------------------------+----------------------------+
| character_set_client  | utf8      |
| character_set_connection | utf8      |
| character_set_database | utf8      |
| character_set_filesystem | binary      |
| character_set_results | utf8      |
| character_set_server  | utf8      |
| character_set_system  | utf8      |
| character_sets_dir  | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
만약 정말 그 랬 으 면 좋 겠 다.일의 발생 은 항상 생각 보다 그렇게 간단 하지 않다.
MySQL 서 비 스 를 다시 시작 할 때 대기 상태 에 있 는 것 을 발 견 했 습 니 다.(PS:잠 금 이 꺼 졌 을 것 같 습 니 다.)이 때 실 행 됩 니 다.

mysql -u root -p
이상 던 지기:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
코드 를 수정 하고 싶 었 을 뿐 인 데 왜 이렇게 써->->->->->!!
이 문 제 를 해결 할 때 여러 가지 방법 을 시도 해 봤 는데...

sudo /etc/init.d/mysql status
mysql 상태 보기:mysql respawn/post-start, (post-start) process 55665이런 식 으로 는 문 제 를 해결 할 수 없 으 니 로그 부터 시작 하 자..
날짜 파일/var/log/mysql/error.log 찾 음

계속 해결 방법 을 찾다.
답:
[mysqld]하의ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)default-character-set=utf8' 로 변경
자,드디어 MySQL 을 다시 시작 할 수 있 습 니 다.그리고 다시 시작 한 후에 설정 한 인 코딩 이 여전히 유효 합 니 다.
물론 이전에 만 든 데이터 베 이 스 는 T 를 다시 만들어 야 합 니 다.Tcharacter_set_server=utf8전시 전에 만 든 데이터 인 코딩 은 여전히 latin 1 이기 때 문 입 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.

좋은 웹페이지 즐겨찾기