本文目錄一覽:
centos mysql5.5配置文件在哪
1. 找到mysql的配置文件/etc/my.cf
2. 編輯my.cf文件
3. 修改datadir以及socket和日誌路徑
4. 將mysql數據庫文件移動到自定義的目錄下
5. 重啟mysqld服務
為什麼mysql5.5版本 的文件會有很多個配置文件
mysql的50版本和51版本的區別:
一、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系統數據庫。
二、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global級別動態修改general query log和slow query log的支持。
MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區別
1、4.1 增加了子查詢的支持,字符集增加UTF-8,GROUP BY語句增加了ROLLUP,mysql.user表採用了更好的加密算法。
2、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系統數據庫。
3、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global級別動態修改general query log和slow query log的支持。
4、5.5的新特徵
1)默認存儲引擎更改為InnoDB
2)提高性能和可擴展性
a. 提高了默認線程並發數(innodb_thread_concurrency)
b. 後台輸入/輸出線程控制(innodb_read_io_threads、innodb_write_io_threads)
c. 主線程輸入/輸出速率控制(innodb_io_capacity)
d. 操作系統內存分配程序使用控制(innodb_use_sys_malloc)
e. 適應性散列索引(Hash Index)控制,用戶可以關閉適應性散列功能。
f. 插入緩衝(Insert Buffering)控制,用戶可以關閉innodb的插入緩衝功能。
g. 通過快速加鎖算法提高可擴展性,innodb不在使用代理(posix)線程,而是使用原生的獨立操作來完成互斥和讀寫鎖定。
h. 恢復組提交(Restored Group Commit)
i. 提高恢復性能
j. 多緩衝池實例
k. 多個回滾段(Multiple Rollback Segments),之前的innodb版本最大能處理1023個並發處理操作,現在mysql5.5可以處理高達128K的並發事物,
l. Linux系統固有的異步輸入/輸出,mysql5.5數據庫系統也提高了linux系統的輸入輸出請求的並發數。
m. 擴展變化緩衝:添加了刪除緩衝和清除緩衝
n. 改善了日誌系統互斥和單獨刷新(Flush)列表互斥
o. 改善清除程序進度,在mysql5.5中清楚操作線程是獨立的線程,並支持並發,可以使用innodb_purge_treads配置。
p. 改善事務處理中的元數據鎖定。例如,事物中一個語句需要鎖一個表,會在事物結束時釋放這個表,而不是像以前在語句結束時釋放表。
3)提高實用性
a. 半同步複製(Semi-synchronous Replication)
b. 複製Heartbeat
c. 中繼日誌自動恢復(Automatic Relay Log Recovery)
d. 根據服務器過濾項複製(Replication Per Server Filtering)
e. 從服務器複製支持的數據類型轉換(Replication Slave Side Data Type Conversions)
4)提高易管理性和效率
a. 建立快速索引(Faster Index Creation)
b. 高效的數據壓縮(Efficient Data Compression)
c. 為大物件和可變長度列提供高效存儲
d. 增加了INFORMATION_SCHEMA表,新的表提供了與InnoDB壓縮和事務處理鎖定有關的具體信息。
5)提高可用性
a. 針對SIGNAL/RESIGNAL的新SQL語法
b. 新的表/索引分區選項。MySQL5.5將表和索引RANG和LIST分區範圍擴展到了非整數列和日期,並增加了在多個列上分區的能力。
6)改善檢測和診斷
Mysql5.5引入了一種新的性能架構(performancn_shema,P_S),用於監控mysql監控服務器運行時的性能。
5、5.6的新特徵 1)InnoDB現在可以限制大量表打開的時候內存佔用過多的問題(比如這裡提到的)(第三方已有補丁)
2)InnoDB性能加強。如分拆kernel mutex;flush操作從主線程分離;多個perge線程;大內存優化等
3)InnoDB死鎖信息可以記錄到 error 日誌,方便分析
4)MySQL5.6支持延時複製,可以讓slave跟master之間控制一個時間間隔,方便特殊情況下的數據恢復。
5)表分區功能增強
6)MySQL行級複製功能加強,可以降低磁盤、內存、網絡等資源開銷(只記錄能確定行記錄的字段即可)
7)Binlog實現 crash-safe
8)複製事件採用crc32校驗,增強master/slave 複製數據一致性
9)新增 log_bin_basename (以前variables裡面沒有binlog位置信息,對數據庫的監管很不方便)
mysql5.5解壓版怎麼配置
到官網下載mysql-5.5.10-win32.zip,然後將mysql解壓到任意路徑,如:C:\mysql-5.5.10-win32
打開計算機-屬性-高級系統設置-環境變量,新建一個環境變量,變量名為:MYSQL_HOME,變量值為你的mysql根目錄,如:C:\mysql-5.5.10-win32
然後在系統變量Path中添加:;%MYSQL_HOME%\bin
在根目錄下面有幾個已經寫好的”my-“開頭的ini文件,選一個適合你的,如:my-small.ini。複製一份,將文件名修改為my.ini,添加以下內容:
Properties代碼
[mysqld]
#設置字符集為utf8
default-character-set = utf8
basedir = C:/mysql-5.5.10-win32
datadir = C:/mysql-5.5.10-win32/data
[client]
#設置客戶端字符集
default-character-set = utf8
[WinMySQLadmin]
Server = C:/mysql-5.5.10-win32/bin/mysqld.exe
打開命令提示符,進入%MYSQL_HOME%/bin目錄,執行命令:mysqld -install將mysql安裝到windows的服務。執行成功後會提示:C:\mysql-5.5.10-win32\binService successfully installed.
如果想要卸載服務執行命令:mysqld -remove。
然後在命令提示符下執行:net start mysql就能啟動mysql了,停止服務輸入命令:net stop mysql。如果想設置mysql是否自動啟動,可以在開始菜單-運行中輸入service.msc打開服務管理進行設置。
第一次登錄的時候輸入:
C:\Users\Administratormysql -u root
修改密碼:
mysql update mysql.user set password=PASSWORD(‘root’) where User=’root’
mysql flush privileges
不過我在安裝過程中還是出了點小問題,啟動mysql的時候報錯:
系統出錯。
發生系統錯誤 1067。
進程意外終止。
打開%MYSQL_HOME%/data目錄下的用戶名.err文件,mysql的錯誤日誌就記錄在這個文件中。在裡面發現這樣一句話:
110327 0:12:02 [ERROR] MySQL: unknown variable ‘default-character-set=utf8’
感覺很奇怪,以前一直都這樣安裝的。最後在mysql的官網上找到一篇中國DBA的求助信息,原來這是新版本的一個bug,不支持在my.ini中直接設置字符集為utf8。解決辦法是:在default-character-set=utf8前面加上loose-即:
Properties代碼
[mysqld]
#設置字符集為utf8
loose-default-character-set = utf8
[client]
#設置客戶端字符集
loose-default-character-set = utf8
啟動果然不再報錯了。。。那份求助信息的原文地址:
後記:
雖然使用上面的方式加入loose-以後,mysql啟動不再報錯了。但是在插入數據時依然出現了亂碼問題,給我造成了不小的麻煩。
mysql show variables like ‘%char%’;
通過以上命令查看字符集編碼,得到如下結果:
+————————–+—————————————+
| 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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql-5.5.10-win32\share\charsets\ |
+————————–+—————————————+
可以看出character_set_database ,character_set_server 的編碼還是默認的latin1。
在[mysqld]配置選項下添加character-set-server = utf8,重啟服務進入mysql再次查看:
+————————–+—————————————+
| 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 |
| character_sets_dir | C:\mysql-5.5.10-win32\share\charsets\ |
+————————–+—————————————+
問題完美解決
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/194885.html