關於解決linux下修改資料庫編碼的問題

2021-06-20 16:29:34 字數 1856 閱讀 2465

在將資料通過jdbc儲存到資料庫中後,儲存的資料出現亂碼,首先想到的是資料庫編碼問題,然而我建的資料庫是utf-8格式的為什麼也會亂碼呢!於是乎網上各種查詢,原來是因為資料庫服務端的編碼預設是latinl編碼,問題有進步的發展,在修改資料編碼時,網上有很多同樣的方法

修改方法

1. 找到mysql的配置檔案,拷貝到etc目錄下,第一步很重要

把/usr/share/doc/mysql-server-5.1.52/my-large.cnf 複製到 /etc/my.cnf

即用命令:cp /usr/share/doc/mysql-server-5.1.52/my-large.cnf  /etc/my.cnf

2. 開啟my.cnf修改編碼

在[client]下增加default-character-set=utf8

在[mysqld]下增加default-character-set=utf8

同時加上init_connect='set names utf8' (設定連線mysql資料庫時使用utf8編碼,以讓mysql資料庫為utf8執行)

3.重新啟動mysql

service mysqld restart

再次輸入show variables like '%character%';

即使做了以上修改如果直接資料庫再建立表,然後存入中文,取出來的會是問號。解決的辦法是:建立資料庫的時候指明預設字符集為utf8,如:

create database test default character set utf8;

出現問題

很好完成了,啟動資料庫去,結果告訴我

暈,問題又來了,繼續

輸入:mysql_install_db --user=mysql

暈,問題又來了,還行不行

fatal error: could not find ./bin/my_print_defaults

if you compiled from source, you need to run 'make install' to

copy the software into the correct location ready for operation.

if you are using a binary release, you must either be at the top

level of the extracted archive, or pass the --basedir option

pointing to that location.

說是沒有找到my_print_defaults這個

網上又找了一通,發現有解決方案

解決方法:

[root@bogon scripts]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &(這點非常重要)

結果報錯:

在網上搜尋一番,發現有人提出,用character_set_server=utf8來取代

default-character-set=utf8

能解決這個問題,於是修改/etc/my.cnf

啟動mysql成功ok 

linux下修改資料庫MySql密碼

朋友給了個伺服器,現在要用到mysql資料庫 可是呢?資料庫密碼人家忘了,現在通過別人指教把我學來的修改mysql資料庫密碼的方法共享一下,大家共勉。檢視確定安裝了mysql rpm qa grep i mysql 執行效果如下 重啟mysql etc init.d mysql 截圖如下 因為我已經...

LINUX資料庫 修改資料庫編碼

1.先登入資料庫mysql uroot proot2.檢視資料庫編碼 發現資料庫和資料庫服務對應的編碼是latin1,需要修改資料庫的編碼為utf8 show variables like character exit vi etc my.cnf4.修改配置檔案 在配置檔案中新增,寫完以後 wq儲存...

修改資料庫

改資料庫庫名稱 alter database 資料庫名稱 modify name 新資料庫名稱 或exec sp renamedb 資料庫名稱 新資料庫名稱 擴大資料庫 alter database語句擴大資料庫 alter database studentsys add file name stu...