一、查看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
2. mysql中怎麼設置字元集
方法1:通過客戶端修改表欄位的默認字元集
打開SQLyog客戶端,連接資料庫如下圖所示,點擊connection 按鈕 連接資料庫
我的資料庫名稱為e,然後我隨意找到資料庫中test2表,右鍵-----》Alter Table
如果安裝資料庫的 時候 沒有選擇字元集設置,那麼mysql資料庫默認為latin1,在箭頭部分選擇utf8字元集
方法2:用資料庫命令修改字元集
首先查看當前資料庫字元集,在命令框中執行如下命令:show variables like 'character_set_%';
查看字元集排序設置,執行命令:show variables like 'collation_%';
修改伺服器級別字元集,執行命令:
1,臨時修改:SET GLOBAL character_set_server=utf8;
修改表級別,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8;
修改資料庫級別,命令如下:use e(換成你要修改的資料庫名,在這里我的資料庫為e),,然後執行命令:alter database e character set utf-8;
或者修改mysql的my.ini文件中的字元集鍵值
[mysql]
[mysqld]
重啟mysql
3. mysql 資料庫怎麼在伺服器查看資料庫字元集、伺服器字元集、客戶端字元集、對應表字元集
mysql> show variables like 「character_set_%」;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
修改mysql的my.ini文件中的字元集
default-character-set = utf8
character_set_server = utf8
4. 如何修改mysql表欄位的字元集
修改mysql的默認字元集是通過修改它的配置文件來實現的。一般分兩種情況:
windows平台
windows下的mysql配置文件是my.ini,一般在c:windowsmy.ini或者c:winntmy.ini可以直接在這個文件裡面加上
default-character-set=gbk
#或gb2312,big5,utf8
然後重新啟動mysql
service
mysql
restart
或
/etc/init.d/mysql
restart
或用其他方法重新啟動,就生效了。
unix平台
linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:
find
/
-iname
my.cnf
在這個文件裡面加上
default-character-set=gbk
#或gb2312,big5,utf8
然後重新啟動mysql
net
stop
mysql
net
start
mysql
就生效了。
5. 怎樣在Linux環境下安裝部署MySQL資料庫系統
如何在linux下安裝mysql資料庫並配置
關於本文
本文將以MySQL 5.0.51為例,以CentOS 5為平台,講述MySQL資料庫的安裝和設置。
2. 關於MySQL
MySQL是最流行的開源SQL資料庫管理系統,它由MySQL AB開發、發布和支持。MySQL AB是一家由MySQL開發人員創建的商業公司,它是一家使用了一種成功的商業模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。
MySQL是一個快速的、多線程、多用戶和健壯的SQL資料庫伺服器。MySQL伺服器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟體中去。
MySQL的官方發音是「My Ess Que Ell」,而不是「My sequel」。但是你也可以使用「My sequel」和其他的方言。
MySQL網站(http://www.mysql.com)提供了關於MySQL和MySQL AB的最新的消息。
MySQL具有如下特點或特性:
MySQL是一個資料庫管理系統;
MySQL是一個關系資料庫管理系統;
MySQL是開源的;
MySQL伺服器是一個快的、可靠的和易於使用的資料庫伺服器;
MySQL伺服器工作在客戶/伺服器或嵌入系統中;
有大量的MySQL軟體可以使用。
3. MySQL的安裝
MySQL有兩種安裝方式:源碼包安裝和二進制包安裝。這兩種方式各有特色:二位制包安裝不需編譯,針對不同的平台有經過優化編譯的不同的二進制文件以及包格式,安裝簡單方便;源碼包則必須先配置編譯再安裝,可以根據你所用的主機環境進行優化,選擇最佳的配置值,安裝定製更靈活。下面分別介紹這兩種安裝方式。
3.1 源碼包方式安裝
3.1.1 在linux系統中添加運行Mysql的用戶和組
/usr/sbin/groupadd mysql
/usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql
3.1.2 下載最新穩定發行版(GA)的MySQL軟體
訪問MySQL網站http://dev.mysql.com/downloads/下載最新穩定發行版的MySQL源碼包。本文使用的是5.0.51版本,在linux系統下用下面的命令下載:
wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.0/mysql-5.0.51.tar.gz
3.1.3 解壓縮下載的源碼包
首先建立一個工作目錄( 筆者建議的目錄為/usr/local/src/mysql ) :
mkdir -p /usr/local/src/mysql
將下載的源碼包移至工作目錄:
mv mysql-5.0.51.tar.gz /usr/local/src/mysql
進入工作目錄並用tar命令解壓源碼包:
cd /usr/local/src/mysql
tar zxvf mysql-5.0.51.tar.gz
命令執行結束後,當前工作目錄下將生成一個新的子目錄mysql-5.0.51,此目錄下即為mysql的源碼文件。
3.1.4 配置Makefile文件
進入MySQL源碼目錄:
cd mysql-5.0.51
執行下面的命令可查看可配置選項:
./configure --help
本文使用的配置命令格式如下:
CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-assembler --with-big-tables --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=complex
配置選項說明:
CC:C編譯器的名稱(用於運行configure),本文示例為gcc
CFLAGS:C編譯器的標志(用於運行configure),本文示例為-O3,指定優化級別為3
CXX:C++編譯器的名稱(用於運行configure),本文示例為gcc
CXXFLAGS:C++編譯器的標志(用於運行configure)
--prefix:指定安裝目錄,本文示例為/usr/local/mysql
--localstatedir:指定默認資料庫文件保存目錄,默認為安裝目錄下的var目錄
--enable-thread-safe-client:編譯線程安全版的MySQL客戶端庫
--enable-assembler:使用一些字元函數的匯編版本
--with-client-ldflags:客戶端鏈接參數,本文示例為指定靜態編譯mysql客戶端
--with-mysqld-ldflags:伺服器端鏈接參數,本文示例為指定靜態編譯mysql伺服器
--with-big-tables:在32位平台上支持大於4G行的表
--with-charset:指定默認字元集。mysql默認使用latin1(cp1252)字元集,可以使用此選項更改。字元集可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或win1251ukr。
--with-collation:指定默認校對規則。mysql默認使用latin1_swedish_ci校對規則,可以使用此選項更改。
--with-extra-charsets:伺服器需要支持的字元集,有三種可能的值:空格間隔的一系列字元集名;complex ,包括不能動態裝載的所有字元集;all,將所有字元集包括進二進制。本文示例為complex。
注意:要想更改字元集和校對規則,要同時使用--with-charset和--with-collation選項。 校對規則必須是字元集的合法校對規則。(在mysql中使用SHOW COLLATION語句來確定每個字元集使用哪個校對規則)。
3.1.5 編譯源代碼
執行下面的命令編譯源代碼:
make
3.1.6 安裝
執行下面的命令安裝mysql到目標路徑:
make install
3.1.7 復制默認全局啟動參數配置文件到/etc目錄
源碼方式安裝需要手動復制配置文件,配置模板位於源碼樹的support-files目錄,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四個,選擇跟你的環境相接近的一個復制到/etc目錄,並做適當修改。關於mysql配置文件的詳細信息請參閱筆者的其它文章或是mysql官方文檔。
本文示例選擇my-medium.cnf,執行下面的命令將其復制到/etc目錄:
cp ./support-files/my-medium.cnf /etc/my.cnf
3.1.8 初始化授權表
執行下面的命令初始化授權表:
./scripts/mysql_install_db --user=mysql
3.1.9 更改mysql數據目錄屬主和許可權
默認資料庫文件保存目錄為安裝目錄下的var目錄,執行configure命令時可通過--localstatedir參數指定不同的目錄,本文示例為默認位置。
chown -R mysql.mysql /usr/local/mysql/var
chmod -R 700 /usr/local/mysql/var
3.1.10 設置開機自啟動服務控制腳本
執行下面的命令復制啟動腳本到資源目錄:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
執行下面的命令增加mysqld服務控制腳本執行許可權:
chmod +x /etc/rc.d/init.d/mysqld
執行下面的命令將mysqld服務加入到系統服務:
chkconfig --add mysqld
執行下面的命令檢查mysqld服務是否已經生效:
chkconfig --list mysqld
命令輸出類似下面的結果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服務已經生效,在2、3、4、5運行級別隨系統啟動而自動啟動,以後可以使用service命令控制mysql的啟動和停止。
啟動mysqld服務:
service mysqld start
停止mysqld服務:
service mysqld stop
執行下面的命令關閉開機自啟動:
chkconfig mysqld off
執行下面的命令可以改變開機自啟動的運行級別為3、5:
chkconfig --level 35 mysqld on
3.1.11 將mysql的bin目錄加入PATH環境變數
編輯/etc/profile文件:
vi /etc/profile
在文件最後添加如下兩行:
PATH=$PATH:/usr/local/mysql/bin
export PATH
執行下面的命令使所做的更改生效:
. /etc/profile
3.2 二進制包方式安裝
3.2.1 從安裝媒體安裝
Mysql二進制包已經包含在CentOS 5的安裝媒體中,可以直接從安裝媒體中安裝下面三個rpm包:
mysql-5.0.22-2.1.0.1.i386.rpm
mysql-devel-5.0.22-2.1.0.1.i386.rpm
mysql-server-5.0.22-2.1.0.1.i386.rpm
不同的版本文件名有所不同,請注意區分。
執行下面的命令安裝:
rpm -iUvh mysql-5.0.22-2.1.0.1.i386.rpm
rpm -iUvh mysql-devel-5.0.22-2.1.0.1.i386.rpm
rpm -iUvh mysql-server-5.0.22-2.1.0.1.i386.rpm
3.2.2 通過yum安裝
如果你安裝的機器此時可以連接到互聯網,筆者建議使用yum命令來簡化安裝過程:
yum install mysql-server mysql-devel mysql
yum將自動從centos的鏡像站點查找你指明的軟體的最新二進制包,並檢查軟體包依賴關系,安裝軟體的同時自動安裝其依賴的軟體包。
6. mysql show variables like 'character%';
查看當前mysql資料庫的所有屬性的字元編碼,
1,設置客戶端使用的字元集
2,設置鏈接資料庫時的字元集
3,設置創建資料庫的編碼格式
4,文件系統的編碼格式
5,資料庫給客戶端返回數據時的編碼格式
6,伺服器安裝時指定的編碼格式
7,資料庫系統使用的編碼格式
8,字元集的安裝目錄
7. linux下mysql資料庫中的中文不能正常顯示 正常顯示的中文轉移到windows環境下不能正常顯示了
在mysql_connect後面加一句SET NAMES UTF8 或是GBK,根據資料庫的設定而定。代碼如下
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'UTF8'");
或是考慮mysql的語言設置是否正確:
學習修改mysql的character設置。
MySQL 4.1以上版本的字元集支持(Character Set Support)有兩個方面:字元集(Character set)和排序方式(Collation)。對於字元集的支持細化到四個層次: 伺服器(server),資料庫(database),數據表(table)和連接(connection)。我們最終的目標是使得這四個層次轉化會支持中文的編碼。
命令一:mysql> SHOW VARIABLES LIKE ''character_set_%'';
查看系統的字元集,結果如下
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ |
+--------------------------+---------------------------------------------------------+
命令二:mysql> SHOW VARIABLES LIKE ''collation_%'';
查看系統的排序方式,結果如下
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | gbk_chinese_ci |
+----------------------+-----------------+
命令三:SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
另外一種方法是:SET NAMES 「UTF8」;
總之就是用這個方法改變字元集設置,是設成utf8還是gbk根據自己的實際情況定。
8. linux下怎麼修改mysql的字元集編碼
安裝完的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> show variables like 'character_set%' ;//或者是status
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
修改字元集 :
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/ |
+--------------------------+----------------------------+
如圖,character_set_database仍然會為latin1,我採取的辦法是先導出該資料庫中數據,如果數據不重要,則可drop此資料庫,
然後再重新create一個資料庫。
9. 如何查看mysql資料庫的編碼字元集
基本上現在的字元集 MySQL 都支持,查看 MySQL 支持的字元集列表, 有兩種方法:
1. SQL 語句
2. 查看元數據字典表
查詢結果:
1)第一列代表字元集名字;
2)第二列表示字元集排序規則;
3)第三列表示字元集描述;
4)第四列表示字元集編碼的最大位元組數。