# tar zxvf MySQL-4.0.14.tar.gz -C /setup
# cd /setup/MySQL-4.0.14
# groupadd MySQL
# useradd mysql -g MySQL -M -s /bin/false
# ./configure --prefix=/web/MySQL 指定安裝目錄
--without-debug 去除debug模式
--with-extra-charsets=gb2312 添加gb2312中文字符支持
--enable-assembler 使用一些字符函數的匯編版本
--without-isam 去掉isam表類型支持 現在很少用了 isam表是一種依賴平台的表
--without-innodb 去掉innodb表支持 innodb是一種支持事務處理的表,適合企業級應用
--with-pthread 強制使用pthread庫(posix線程庫)
--enable-thread-safe-clIEnt 以線程方式編譯客戶端
--with-clIEnt-ldflags=-all-static --with-MySQLd-ldflags=-all-static 以純靜態方式編譯服務端和客戶端 --with-raid 激活raid支持
# make
# make install
# scripts/mysql_install_db 生成MySQL用戶數據庫和表文件
# cp support-files/my-medium.cnf /etc/my.cnf copy配置文件,有large,medium,small三個環境下的,根據機器性能選擇,如果負荷比較大,可修改裡面的一些變量的內存使用值
# cp support-files/mysql.server /etc/init.d/mysqld copy啟動的MySQLd文件
# chmod 700 /etc/init.d/MySQLd
# cd /web
# chmod 750 MySQL -R
# chgrp mysql MySQL -R
# chown mysql MySQL/var -R
# cd /web/MySQL/libexec
# cp mysqld MySQLd.old
# strip MySQLd
# chkconfig --add MySQLd
# chkconfig --level 345 MySQLd on
# service MySQLd start
# netstat -atln
看看有沒有3306的端口打開,如果mysqld不能啟動,看看/web/MySQL/var下的出錯日志,一般都是目錄權限沒有設置好的問題
# ln -s /web/mysql/bin/mysql /sbin/MySQL
# ln -s /web/mysql/bin/mysqladmin /sbin/MySQLadmin
# MySQLadmin -uroot password "youpassWord" #設置root帳戶的密碼
# MySQL -uroot -p
# 輸入你設置的密碼
mysql>use MySQL;
MySQL>delete from user where passWord=""; #刪除用於本機匿名連接的空密碼帳號
MySQL>flush privileges;
MySQL>quit
●安裝DBI和DBD for mysql 用於提供perl訪問MySQL數據庫的接口規范,請確認你已經安裝了perl,一般默認系統都裝上了
# cd /setup
# tar zxvf DBD-MySQL-2.9002.tar.gz -C /setup
# tar zxvf DBI-1.38.tar.gz -C /setup
# cd DBI-1.38
# perl Makefile.PL
# make
# make test
# make install
因為有的perl程序中perl的路徑是/usr/local/bin/perl,而紅帽系統默認是/usr/bin/perl,所以最好做一個連接,保證兼容性
# ln -s /usr/bin/perl /usr/local/bin/perl
# cd ../DBD-MySQL-2.9002
生成安裝配置文件需要在perl Makefile.PL後添加一些參數,比較麻煩,我們可以通過添加一個到/web/mysql/bin/MySQL_config這個程序的連接解決問題
系統會自動尋找這個命令生成安裝所需要的數據庫參數
# ln -s /web/mysql/bin/mysql_config /sbin/MySQL_config
# perl Makefile.PL
# make
# make instll (這裡make test我總是運行一半就出錯,但是安裝後是可以運行mysql目錄下的測試腳本,不知道3.x的MySQL如何)
現在你可以運行測試腳本了,不過速度很慢,掛在後台好了
# perl /web/MySQL/sql-bench/run-all-tests --user=root --password="youpassWord"
附:
●MySQL常見的一些有用的選項和命令
MySQLd -----開啟日志支持
--log
--log-update
--log-long-formart
●MySQL
grant all on database.* to user identifIEd by "passWord" 新建一user用戶,賦予其database數據庫的所有權限
revoke all on database from user 移除user用戶在database數據庫上的所有權限
MySQL -uroot -p --one-database databasename < file.sql 從file.sql文件導入sql語句到databasename這個數據庫裡
●MySQLadmin
mysqladmin flush-logs 命令MySQLd重新打開一個新的日志文件,就是清空老日志文件,相當於輪回了
●MySQLdump
--add-drop-table 導出sql語句時添加droptable if exists語句
--quick 快速導出
--opt 優化選項(推薦)
●myisamchk
檢查表選項
--extend-check 擴展檢查
--medium-check 速度比較折中的一個檢查選項
修復表選項
--recover 修復表文件
--safe-recover 安全修復表文件,比--recover要慢
修飾修復表項
--force 強制清除上次的臨時文件
--quick 只根據素引文件的內容進行修復
●MySQL的管理
可以使用phpmyadmin(需要PHP的環境支持)和MySQLcc(Linux圖形界面支持,Windows系統支持)