mysql問題整理
阿新 • • 發佈:2018-11-08
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\