


LINUX下MYSQL完全安裝使用指南
學習了很長時間的linux,有必要做一下整理筆記了,以下是mysql的安裝筆記,和常見的一些使用方法。
因我喜歡調試優化系統,所以在編譯安裝時使用了一些選項增加編程后程序的執行效率,有些可能我理解有錯,希望大家指出.
●安裝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-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
# s/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系統支持)
關鍵字:文件、環境、系統、圖形界面
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解