1. 程式人生 > >mysql問題整理

mysql問題整理


title: mysql 問題
date: 2018-10-16 18:43:32
categories:

  • mysql
    tags:
  • mysql

引言

記錄mysql使用過程中遇到的一些問題和解決方法

1 發生系統錯誤1067

net start mysql
MySQL 服務正在啟動 ...
MySQL 服務無法啟動。
系統出錯。
發生系統錯誤 1067。

在啟動伺服器的時候,出現上面的錯誤的時候,可以看一下是否是配置檔案中有問題。我這裡是剛安裝完成mysql,然後修改配置檔案之後出現了問題。之後發現是配置檔案中檔案路勁的問題。
主要是因為反斜槓和正斜槓使用時需要注意的區別。

2 編碼問題

問題描述:[Err] 1366 - Incorrect string value: ‘\xF0\x9F\x99\x8F \xF0…’ for column ‘content’ at row 1
從 MySQL 5.5.3 開始,MySQL 支援一種 utf8mb4 的字符集,這個字符集能夠支援 4 位元組的 UTF8 編碼的字元。 utf8mb4 字符集能夠完美地向下相容 utf8 字串。在資料儲存方面,當一個普通中文字元存入資料庫時仍然佔用 3 個位元組,在存入一個 Unified Emoji 表情的時候,它會自動佔用 4 個位元組。所以在輸入輸出時都不會存在亂碼的問題了。由於 utf8mb4 是 utf8 的超集,從 utf8 升級到 utf8mb4 不會有任何問題,直接升級即可;

因為自己使用的版本低於5.5.3,之後找了一個5.6.24版本的,並在my.ini檔案中添加了:

[mysqld]
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
[client]
default-character-set=utf8mb4
[mysql]
default-character-set = utf8mb

之後檢視具體的編碼列表,如下:主要是關於編碼修改成utf8mb4,之後就可以儲存這種表情符號了。

mysql> show variables like 'character%';
+--------------------------+-----------------------------+
| Variable_name            | Value                       |
+--------------------------+-----------------------------+
| character_set_client     | utf8mb4                     |
| character_set_connection | utf8mb4                     |
| character_set_database   | utf8mb4                     |
| character_set_filesystem | binary                      |
| character_set_results    | utf8mb4                     |
| character_set_server     | utf8mb4                     |
| character_set_system     | utf8                        |
| character_sets_dir       | C:\software\mysql5.6\mysql-5.6.24-win32\share\charsets\