linux上修改mysql字符編碼為utf8
開始在linux上裝好了mysql服務(wù),在后期的使用過(guò)程中,突然發(fā)現(xiàn)在插入記錄時(shí),部分字段不能為中文,報(bào)錯(cuò)信息如下:
1
2
|
mysql> insert into syudent values (1, '陶盼' ,21); error 1366 (hy000): incorrect string value: '\xe9\x99\xb6\xe7\x9b\xbc' for column 'name' at row 1 |
經(jīng)過(guò)我堅(jiān)持不懈的查找資料,終于解決了該問(wèn)題。下面給大家分享我的解決方法:
1、數(shù)據(jù)庫(kù)中查看mysql狀態(tài):
1
2
3
|
# 查看mysql狀態(tài) mysql> status; mysql> quit; |
2、修改配置文件:
1
2
3
4
5
6
7
8
9
|
#退出數(shù)據(jù)庫(kù) systemctl stop mysqld.service #編輯my.cnf配置文件 vim /etc/my.cnf [client] //如果沒(méi)有[client]段,就自己添加上去 default - character - set =utf8 [mysqld] character - set -server=utf8 collation-server=utf8_general_ci |
編輯好配置文件后,重啟mysql服務(wù);
1
|
systemctl start mysqld |
重啟成功后,重新查詢一下mysql的狀態(tài),顯示如下即可:
1
2
|
mysql -u root -p '你的密碼' mysql> status; |
這時(shí)候進(jìn)入數(shù)據(jù)庫(kù)即可正常插入中包含文字段數(shù)據(jù)了。
3、若是還沒(méi)成功,可能是創(chuàng)建mysql時(shí)的配置或者剛上一步mysql沒(méi)有停止服務(wù)編輯 my.cnf 配置文件。
這里我們還需對(duì)表和字段設(shè)置字符集為utf8;
1
2
3
|
#查看一下表的創(chuàng)建過(guò)程 mysql> use ky15; mysql> show create table syudent; |
1
2
3
4
5
6
|
#將表的字符集設(shè)置為utf8 mysql> alter table 表名 character set utf8; #將想要插入中文的字段的字符集改為utf8 mysql> alter table 表名 change name name char (20) character set utf8; #查看表的字符集和字段的字符集 mysql> show create table syudent; |
1
2
3
4
|
#測(cè)試,插入中文 mysql> insert into syudent values (1, '陶盼' ,21); mysql> insert into syudent values (2, '王旭' ,21); mysql> select * from syudent; |
到此這篇關(guān)于linux系統(tǒng)下修改mysql字符集為utf8步驟的文章就介紹到這了,更多相關(guān)linux修改mysql字符集內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/weixin_53060366/article/details/121643860