Linux系統下MYSQL源碼安裝的性能考慮

源碼安裝的性能考慮:
17.3.1 去掉不需要的模塊:
源碼安裝由于可以靈活的進行數據庫的定制編譯,因此有更強的靈活性。某些編譯選項可以大大增強我們數據庫的性能。
執行如下命令可以看到所有編譯的配置選項:
shell> ./configure –help
如果只安裝客戶端,可以執行如下命令:
shell> ./configure –without-server
如果你不想要位于“/usr/local/var”目錄下面的日志(log)文件和數據庫,使用類似于下列configure 命令的一個:
local/mysql/tmp/mysql.sock
17.3.2 只選擇要使用的字符集:
改變安裝后的默認字符集和排序規則:
shell> ./configure — with-charset=charset
./configure –with-collation=collation
選擇需要安裝的字符集:
shell>./configure –with-extra-charsets=list
list 可以是下面任何一項:
空格間隔的一系列字符集名
complex -,以包括不能動態裝載的所有字符集
all –,以將所有字符集包括進二進制
17.3.3 使用pgcc 編譯:
pgcc 2.90.29 或更新版:
cflags=”-o3 -mpentiumpro -mstack-align-double” cxx=gcc
cxxflags=”-o3 -mpentiumpro -mstack-align-double
-felide-constructors -fno- exceptions -fno-rtti”
17.3.4 使用靜態編譯以提高性能:
shell>./configure –with-client-ldflags=-all-static
–with-mysqld-ldflags=-all-static
17.4 mysql 升級
方法1 最簡單,適合于任何存儲引擎(不一定速度最快)
安裝新數據庫
將老數據庫導出為文本,導入到新數據庫上
shell> mysqladmin -h hostname -p port -u user -p passwd create db_name
shell> mysqldump –opt db_name | mysql -h hostname -p port -u user -p
passwd db_name
注:如果網絡較慢,可以在導出選項中加上–compress 來減少網絡傳輸
升級權限表
將原庫中的mysql 數據庫目錄全部cp 過來覆蓋新庫中mysql 數據庫
在shell 里面執行mysql_fix_privilege_tables 命令升級權限表
shell>mysql_fix_privilege_tables
重啟數據庫服務
方法2 適合于任何存儲引擎,速度較快
安裝新數據庫
舊庫中創建保存輸出文件的目錄并備份數據庫:
shell> mkdir dumpdir
shell>mysqldump –tab=dumpdir db_name
將dumpdir 目錄中的文件轉移到目標機上相應的目錄中并將文件裝載到mysql:
shell> mysqladmin create db_name # create database
shell> cat dumpdir/*.sql | mysql db_name # create tables in database
shell> mysqlimport db_name dumpdir/*.txt # load data into tables
(實際測試的時候,發現txt 要放到data 下才能執行,否則提示文件找不到)
升級權限表
將原庫中的mysql 數據庫目錄全部cp 過來覆蓋新庫中mysql 數據庫在shell 里面執行mysql_fix_privilege_tables 命令升級權限表
shell>mysql_fix_privilege_tables
重啟數據庫服務
方法3 適合于myisam 表,速度最快
安裝新數據庫
將原庫中的數據目錄下的所有文件(.frm,.myd,myi)cp 到新庫下的相應目錄下升級權限表
將原庫中的mysql 數據庫目錄全部cp 過來覆蓋新庫中mysql 數據庫在shell 里面執行mysql_fix_privilege_tables 命令升級權限表
shell>mysql_fix_privilege_tables
flush tables 或者重啟數據庫服務生效

更多相關文章請關注PHP中文網(www.php.cn)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享