mysql配置命令 CHARACTER_SET_%字符集設置


參照:

http://blog.csdn.net/mzlqh/article/details/7621307點擊打開鏈接


其實現在的ubuntu12.04 直接sudo apt-get install MySQL 就可以了,mysql-client會自動地為你裝上

#查看mysql是否正在運行

sudo netstat -tap | grep mysql

如果是正在運行,則


tcp 0 0 localhost.localdomain:mysql *:* LISTEN -





重啟mysql

sudo /etc/init.d/mysql restart





配置 MySQL 的管理員密碼:


1 
sudo mysqladmin -u root password newpassword 


三、 MySQL服務 加入開機自啟動

加入開機自啟動:        sudo update-rc.d mysql defaults

從開機自啟動中移出:    sudo update-rc.d -f mysql remove

四、遠程連接ubuntu下MySQL

vim /etc/mysql/my.cnf找到

bind-address = 127.0.0.1

這行,注釋掉(如下)

#bind-address = 127.0.0.1

或者改為

bind-address = 0.0.0.0

允許任意IP訪問,或者自己指定一個IP地址。

然后重啟 MySQL

sudo /etc/init.d/mysql restart

授權用戶能進行遠程連接

grant all privileges on *.* to root@"%" identified by "password" with grant option;

flush privileges;

第一行命令解釋如下,*.*:第一個*代表數據庫名;第二個*代表表名。這里的意思是所有數據庫里的所有表都授權給用戶。root:授予root賬號。“%”:表示授權的用戶IP可以指定,這里代表任意的IP地址都能訪問MySQL數據庫。“password”:分配賬號對應的密碼,這里密碼自己替換成你的mysql root帳號密碼。

第二行命令是刷新權限信息,也即是讓我們所作的設置馬上生效。

此時再遠程連接ubuntu下的MySQL應該能夠連接上了。




解決mysql插入中文字符時出現亂碼




[sql] view plain copy print?
01.比如你可以在建庫時設置默認編碼為utf8:  
02.create database mydb default character set utf8 collate utf8_general_ci;  







[sql] view plain copy print?
01.問題解決了,原因是在my.cnf中缺少了如下代碼:  
02.[client]  
03.default-character-set=utf8  
04.[mysqld]  
05.default-character-set=utf8  
06.  
07.  
08.如果不加以上代碼,那么即便MYSQL編譯安裝時指定的編碼是UTF8,那么在建庫時其默認編碼仍是LATIN1,而由於字符集的繼承性,庫中的表也是LATIN1的了。  
09.  
10.  
11.這里列幾條命令,大家可以自己試下:  
12.1.列出MYSQL支持的所有字符集:  
13.SHOW CHARACTER SET;  
14.  
15.2.當前MYSQL服務器字符集設置  
16.SHOW VARIABLES LIKE 'character_set_%';  
17.  
18.3.當前MYSQL服務器字符集校驗設置  
19.SHOW VARIABLES LIKE 'collation_%';  
20.  
21.4.顯示某數據庫字符集設置  
22.show create database 數據庫名;  
23.  
24.5.顯示某數據表字符集設置  
25.show create table 表名;  
26.  
27.6.修改數據庫字符集  
28.alter database 數據庫名 default character set 'utf8';  
29.  
30.7.修改數據表字符集  
31.alter table 表名 default character set 'utf8';  
32.  
33.8.建庫時指定字符集  
34.create database 數據庫名 character set gbk collate gbk_chinese_ci;  
35.  
36.9.建表時指定字符集  
37.CREATE TABLE `mysqlcode` (  
38.`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
39.`content` VARCHAR( 255 ) NOT NULL  
40.) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;  




 ubuntu12.04 mysql配置文件路徑是/etc/mysql/my.cof 




[sql] view plain copy print?
01.(2)用命令show variables like 'character\_set\_%';查看當前字符集設定:  






[sql] view plain copy print?
01.修改mysql字符編碼出現Job failed to start解決辦法  
02.   
03.在python mange.py shell下填充MySQL數據庫的時候,發現漢字不能輸入。  
04.於是要修改一下MySQL數據庫編碼。  
05.   
06.從網上找到如下資料:  
07.$sudo gedit /etc/mysql/my.cnf  
08.[client]下添加:  
09.   
10.default-character-set=utf8  
11.   
12.[mysqld]下添加:  
13.   
14.default-character-set=utf8  
15.   
16.        然后保存退出  
17.   
18.$sudo service mysql restart  
19.   
20.        結果出現了Job failed to start  
21.  www.2cto.com    
22.----------------------------------------------------------------------------------------------------------------------------  
23.可能是版本的問題,查5.5以后的版本對字符編碼方式修改的辦法,發現[mysqld]修改方法變了:  
24.   
25.[mysqld]下添加的應該為:  
26.   
27.character-set-server=utf8  
28.   
29.collation-server=utf8_general_ci  
30.   
31.保存退出  
32.   
33.$sudo service mysql restart  
34.   
35.成功  
36.   
37.進入MySQL控制台:  
38.   
39.    show variables like 'character%';  
40.  www.2cto.com    
41.+-----------------------------------+-----------------------------------+  
42.| Variable_name                    | Value                                    |  
43.   
44.+-----------------------------------+-----------------------------------+  
45.   
46.| character_set_client           | utf8                                         |  
47.   
48.| character_set_connection | utf8                                         |  
49.   
50.| character_set_database    | utf8                                         |  
51.   
52.| character_set_filesystem   | binary                                    |  
53.   
54.| character_set_results         | utf8                                         |  
55.  www.2cto.com    
56.| character_set_server          | utf8                                         |  
57.   
58.| character_set_system         | utf8                                         |  
59.   
60.| character_sets_dir               | /usr/share/mysql/charsets/ |  
61.   
62.+------------------------------------+-----------------------------------+  
63.   
64.8 rows in set (0.00 sec)  
65.   
66.已經修改成功,做下記錄。  
67.   
68.   




 最后是這樣做的: 




[sql] view plain copy print?
01. $sudo gedit /etc/ mysql/my.cnf  
02.[client]下添加:  
03.   
04.default-character-set=utf8  
05.[mysqld]下添加的應該為:  
06.   
07.character-set-server=utf8  
08.   
09.collation-server=utf8_general_ci  
10.   
11.保存退出  
12.   
13.$sudo service mysql restart  
14.   
15.成功  



但是中文亂碼的解決道路還沒有結束 




[sql] view plain copy print?
01.character_set_server 服務器的默認字符集。  
02.character_set_database 默認數據庫使用的字符集。當默認數據庫更改時,服務器則設置該變量。如果沒有默認數據庫,變量的值同character_set_server。  
03.show variables like 'character%';  
04.你用set @@character_set_database=utf8  
05.show variables like 'character%';  
06.在看下character_set_server的值  





成功了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM