linux下mysql編碼問題的簡單介紹

  • 1、如何查看linux下mysql數據庫的編碼
  • 2、如何修正Linux下面MySQL中文亂碼問題
  • 3、linux怎麼設置mysql 的編碼格式
  • 4、linux下怎麼修改mysql的字符集編碼

一、查看MySQL數據庫服務器和數據庫MySQL字符集。

1

show variables like ‘%char%’;

二、查看MySQL數據表(table)的MySQL字符集。

1

show table status from sqlstudy_db like ‘%countries%’;

三、查看MySQL數據列(column)的MySQL字符集。

1

show full columns from countries;

我們有學習小組也 希望一起學習進步 Oracle-Linux交流 103 382 476

linux系統的字符集,應該是iso-8859-1。

如果你的項目是j2se項目的話,執行java命令時,可以指定參數,

java -Dfile.encoding=GBK XXX

如果是,j2ee項目的話,建議設置,字符集過濾器。

兩外,指定Hibernate配置中mysql的url地址的字符集。

安裝完的MySQL的默認字符集為 latin1 ,為了要將其字符集改為用戶所需要的(比如utf8),就必須改其相關的配置文件;由於linux下MySQL的默認安裝目錄分佈在不同的文件下;不像windows一樣放在同一目錄下,只需修改其中的my.ini文件,重起後就生效了;所以先來看看linux下MySQL的數據庫文件、配置文件和命令文件分別在不同的目錄 : 1、數據庫目錄,其所創建的數據庫文件都在該目錄下

/var/lib/mysql/

2、配置文件 (mysql.server命令及配置文件所在地)

/usr/share/mysql

3、相關命令(如mysql mysqladmin等)

/usr/bin

4、啟動腳本(如mysql啟動命令)

/etc/rc.d/init.d/

查看默認字符集

#mysql -u root – p

#(輸入密碼)

可直接進入 mysql 進行更改,具體如下:

1.查找/etc目錄下是否有my.cnf文件;

#ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)

2.如果沒有就要從/usr/share/mysql,拷貝一個到/etc 下,在/usr/share/mysql目錄下有五個後綴為.cnf的文件,分別是 my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf ;從中隨便拷貝一個到/etc目錄下並將其改為my.cnf文件,我選擇的是my-medium.cnf :

#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

3.修改my.cnf文件,在該文件中的三個地方加上 default-character-set=utf8([client] [mysqld] [mysql])

#vi /etc/my.cnf

修改如下:(紅色為添加部分)

[client]

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-locking

key_buffer = 16M

max_allowed_packet = 1M

table_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

default-character-set=utf8

init_connect=’SET NAMES utf8′ //此行可不加

[mysql]

no-auto-rehash

default-character-set=utf8

保存退出;

4.重起MySQL服務器,使其設置的內容生效

#/etc/init.d/mysql restart

5. 重新登入mysql;

# mysql -u root – p

#(輸入密碼)

mysql show variables like ‘character_set%’ ;

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | utf8 |

| character_set_connection | utf8 |(都生成了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/ |

+————————–+—————————-+

mysql啟動和停止 操作 :

可以通過 #/etc/init.d/mysql [start | stop | restart](實現啟動,停止,重啟)

也可以通過 #service mysql [start | stop | restart](實現啟動,停止,重啟)

*********************************

另外:如果在修改字符集前,嘗試在數據庫中插入中文,那麼當修改了字符集後,在你所插入中文的數據庫中(在別的數據庫中可能沒問題),

通過show variables like ‘character_set%’查詢的結果可如下:

+————————–+—————————-+

| 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 | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126925.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相關推薦

  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智能等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • 如何解決WPS保存提示會導致宏不可用的問題

    如果您使用過WPS,可能會碰到在保存的時候提示「文件中含有宏,保存將導致宏不可用」的問題。這個問題是因為WPS在默認情況下不允許保存帶有宏的文件,為了解決這個問題,本篇文章將從多個…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Java Thread.start() 執行幾次的相關問題

    Java多線程編程作為Java開發中的重要內容,自然會有很多相關問題。在本篇文章中,我們將以Java Thread.start() 執行幾次為中心,為您介紹這方面的問題及其解決方案…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • Python爬蟲亂碼問題

    在網絡爬蟲中,經常會遇到中文亂碼問題。雖然Python自帶了編碼轉換功能,但有時候會出現一些比較奇怪的情況。本文章將從多個方面對Python爬蟲亂碼問題進行詳細的闡述,並給出對應的…

    編程 2025-04-29
  • NodeJS 建立TCP連接出現粘包問題

    在TCP/IP協議中,由於TCP是面向位元組流的協議,發送方把需要傳輸的數據流按照MSS(Maximum Segment Size,最大報文段長度)來分割成若干個TCP分節,在接收端…

    編程 2025-04-29

發表回復

登錄後才能評論