1.service mysqld stop,停用mysql。
成都創(chuàng)新互聯(lián)服務(wù)項目包括互助網(wǎng)站建設(shè)、互助網(wǎng)站制作、互助網(wǎng)頁制作以及互助網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,互助網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到互助省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
2.cp /etc/my.cnf /etc/my.cnf.bak,修改前做備份,這是個好習(xí)慣。
修改my.cnf或my.ini(只有修改配置文件,并重啟服務(wù)器,才能永久生效)
vi /etc/my.cnf
在[client]下添加,client為控制客戶端的,沒試過,沒有的可以不需要加。
default-character-set=utf8
在[mysqld]下添加,mysqld為控制服務(wù)器端的,改過了,OK。
default-character-set=utf8
3.service mysqld restart,重啟。
4.show variables like '%char%';查看。
打開SQLyog客戶端,連接數(shù)據(jù)庫如下圖所示,點擊connection 按鈕 連接數(shù)據(jù)庫
我的數(shù)據(jù)庫名稱為edu,然后我隨意找到數(shù)據(jù)庫中test2表,右鍵-----》Alter Table
3
如果安裝數(shù)據(jù)庫的 時候 沒有選擇字符集設(shè)置,那么mysql數(shù)據(jù)庫默認為latin1,在箭頭部分選擇utf8字符集
首先,MySQL的字符集問題主要是兩個概念,一個是Character Sets,一個是Collations,前者是字符內(nèi)容
及編碼,后者是對前者進行比較操作的一些規(guī)則。這兩個參數(shù)集可以在數(shù)據(jù)庫實例、單個數(shù)據(jù)庫、表、列等四個級
別指定。
對于使用者來說,一般推薦使用utf8編碼來存儲數(shù)據(jù)。而要解決亂碼問題,不單單是MySQL數(shù)據(jù)的存儲問題,還
和用戶的程序文件的編碼方式、用戶程序和MySQL數(shù)據(jù)庫的連接方式都有關(guān)系。
首先,MySQL有默認的字符集,這個是安裝的時候確定的,在編譯MySQL的時候可以通過DEFAULT_CHARSET=
utf8和DEFAULT_COLLATION=utf8_general_ci這兩個參數(shù)(MySQL5.5版本,5.1版本用--with-charset=
utf8 --with-collation=utf8_general_ci)來指定默認的字符集為utf8,這也是最一勞永逸的辦法,這樣指定后,
客戶端連接到數(shù)據(jù)庫的編碼方式也默認是utf8了,應(yīng)用程序不需要任何處理。
但是遺憾的是,很多人編譯安裝MySQL的時候沒有指定這兩個參數(shù),大多數(shù)人更是通過二進制程序的方式安裝,那
么這時候MySQL的默認字符集是latin1。而這時候我們?nèi)匀豢梢灾付∕ySQL的默認字符集,通過my.cnf文件增加
兩個參數(shù):
1.在[mysqld]下添加
default-character-set=utf8(mysql 5.5 版本添加character-set-server=utf8)
2.在[client]下添加
default-character-set=utf8
這樣我們建數(shù)據(jù)庫建表的時候就不用特別指定utf8的字符集了。配置文件里的這種寫法解決了數(shù)據(jù)存儲和比較的問題
,但是對客戶端的連接是沒有作用的,客戶端這時候一般需要指定utf8方式連接才能避免亂碼。也就是傳說總的set
names命令。事實上,set names utf8命令對應(yīng)的是服務(wù)器端以下幾個命令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = xutf8;
但這三個參數(shù)是不能寫在配置文件my.cnf里的。只能通過set命令來動態(tài)修改。我們需要的是在配置文件里寫好一勞
永逸的辦法。那么這時候,是否有在服務(wù)端解決問題的辦法呢,可行的思路是在init_connect里設(shè)置。這個命令在每
個普通用戶連接上來的時候都會觸發(fā)執(zhí)行,可以在[mysqld]部分增加以下一行設(shè)置連接字符集:
在[mysqld]下添加:
init_connect = 'SET NAMES utf8'
總結(jié):
1、首選在編譯安裝MySQL的時候指定兩個參數(shù)使用utf8編碼。
2、次選在配置文件my.cnf或my.ini設(shè)定兩個參數(shù),同時設(shè)置init_connect參數(shù)。
3、第三在配置文件my.cnf或my.ini設(shè)定兩個參數(shù),同時客戶端的連接指定set names命令。
4、在配置文件my.cnf里的client和server處加入default-character-set參數(shù)方便管理。
mysql數(shù)據(jù)庫中sql修改字段類型可以按照以下方式:
語法規(guī)則:alter table 表名 modify 字段名 新類型
例如,有張表student,有id字段是int型的,改為varchar類型
alter table student modify id varchar(20);
執(zhí)行該sql語句即可。
注意:如將varchar類型轉(zhuǎn)成int類型,原字段必須是數(shù)字,
而且int的最大值是4294967295,原字段的值需要小于等于int的最大值才可以。