學(xué)習(xí)了很長(zhǎng)時(shí)間的linux,有必要做一下整理筆記了,以下是mysql的安裝筆記,和常見(jiàn)的一些使用方法。 因我喜歡調(diào)試優(yōu)化系統(tǒng),所以在編譯安裝時(shí)使用了一些選項(xiàng)增加編程后程序的執(zhí)行效率,有些可能我理解有錯(cuò),希望大家指出. mail:flashc@21cn.com
●安裝mysql # 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-charset=gbk --with-collation=gbk --with-extra-charsets=gbk \添加gb2312中文字符支持 --enable-assembler \使用一些字符函數(shù)的匯編版本 --without-isam \去掉isam表類(lèi)型支持 現(xiàn)在很少用了 isam表是一種依賴(lài)平臺(tái)的表 --without-innodb \去掉innodb表支持 innodb是一種支持事務(wù)處理的表,適合企業(yè)級(jí)應(yīng)用 --with-pthread \強(qiáng)制使用pthread庫(kù)(posix線程庫(kù)) --enable-thread-safe-client \以線程方式編譯客戶(hù)端 --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static \以純靜態(tài)方式編譯服務(wù)端和客戶(hù)端
# make # make install # scripts/mysql_install_db \生成mysql用戶(hù)數(shù)據(jù)庫(kù)和表文件 # cp support-files/my-medium.cnf /etc/my.cnf \copy配置文件,有l(wèi)arge,medium,small三個(gè)環(huán)境下的,根據(jù)機(jī)器性能選擇,如果負(fù)荷比較大,可修改里面的一些變量的內(nèi)存使用值 # cp support-files/mysql.server /etc/init.d/mysqld \copy啟動(dòng)的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 看看有沒(méi)有3306的端口打開(kāi),如果mysqld不能啟動(dòng),看看/web/mysql/var下的出錯(cuò)日志,一般都是目錄權(quán)限沒(méi)有設(shè)置好的問(wèn)題 # ln -s /web/mysql/bin/mysql /sbin/mysql # ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin # mysqladmin -uroot password "youpassword" #設(shè)置root帳戶(hù)的密碼 # mysql -uroot -p # 輸入你設(shè)置的密碼 mysql>use mysql; mysql>delete from user where password=""; #刪除用于本機(jī)匿名連接的空密碼賬號(hào) mysql>flush privileges; mysql>quit
●安裝dbi和dbd for mysql 用于提供perl訪問(wèn)mysql數(shù)據(jù)庫(kù)的接口規(guī)范,請(qǐng)確認(rèn)你已經(jīng)安裝了perl,一般默認(rèn)系統(tǒng)都裝上了
# 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 因?yàn)橛械膒erl程序中perl的路徑是/usr/local/bin/perl,而紅帽系統(tǒng)默認(rèn)是/usr/bin/perl,所以最好做一個(gè)連接,保證兼容性 # ln -s /usr/bin/perl /usr/local/bin/perl # cd ../dbd-mysql-2.9002 生成安裝配置文件需要在perl makefile.pl后添加一些參數(shù),比較麻煩,我們可以通過(guò)添加一個(gè)到/web/mysql/bin/mysql_config這個(gè)程序的連接解決問(wèn)題 系統(tǒng)會(huì)自動(dòng)尋找這個(gè)命令生成安裝所需要的數(shù)據(jù)庫(kù)參數(shù) # ln -s /web/mysql/bin/mysql_config /sbin/mysql_config # perl makefile.pl # make # make instll (這里make test我總是運(yùn)行一半就出錯(cuò),但是安裝后是可以運(yùn)行mysql目錄下的測(cè)試腳本,不知道3.x的mysql如何) 現(xiàn)在你可以運(yùn)行測(cè)試腳本了,不過(guò)速度很慢,掛在后臺(tái)好了 # perl /web/mysql/sql-bench/run-all-tests --user=root --password="youpassword"
附: ●mysql常見(jiàn)的一些有用的選項(xiàng)和命令 mysqld -----開(kāi)啟日志支持 --log --log-update --log-long-formart ●mysql grant all on database.* to user identified by "password" 新建一user用戶(hù),賦予其database數(shù)據(jù)庫(kù)的所有權(quán)限 revoke all on database from user 移除user用戶(hù)在database數(shù)據(jù)庫(kù)上的所有權(quán)限 mysql -uroot -p --one-database databasename < file.sql 從file.sql文件導(dǎo)入sql語(yǔ)句到databasename這個(gè)數(shù)據(jù)庫(kù)里 ●mysqladmin mysqladmin flush-logs 命令mysqld重新打開(kāi)一個(gè)新的日志文件,就是清空老日志文件,相當(dāng)于輪回了 ●mysqldump --add-drop-table 導(dǎo)出sql語(yǔ)句時(shí)添加droptable if exists語(yǔ)句 --quick 快速導(dǎo)出 --opt 優(yōu)化選項(xiàng)(推薦) ●myisamchk 檢查表選項(xiàng) --extend-check 擴(kuò)展檢查 --medium-check 速度比較折中的一個(gè)檢查選項(xiàng) 修復(fù)表選項(xiàng) --recover 修復(fù)表文件 --safe-recover 安全修復(fù)表文件,比--recover要慢 修飾修復(fù)表項(xiàng) --force 強(qiáng)制清除上次的臨時(shí)文件 --quick 只根據(jù)素引文件的內(nèi)容進(jìn)行修復(fù) ●mysql的管理 可以使用phpmyadmin(需要php的環(huán)境支持)和mysqlcc(linux圖形界面支持,windows系統(tǒng)支持)
|