1.什麼是 MySQL 數據庫?
MySQL 數據庫是一個關係型數據庫管理系統,是服務器領域中受歡迎的開源數據庫系統,目前有 Oracle 公司主要負責運營與維護;
2.MySQL 數據庫的特點
- 多線程、多用戶;
- 簡單易用、查詢速度快;
- 安全可靠;
- 基於 C/S 架構;
3.MySQL 數據庫的編譯安裝
避免出現端口和程序衝突的現象,先查詢 MySQL 軟件的安裝情況,確認沒有使用以 RPM 方式安裝的 mysql-server、mysql 軟件包,否則將其卸載,並安裝自帶的 ncurses-devel 包;
rpm -q mysql-server mysql
package mysql-server is not installed
mysql-5.1.71-1.el6.x86_64
rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
Preparing... ########################################### [100%]
package ncurses-devel-5.7-3.20090208.el6.x86_64 is already installed
解壓 cmake 包,編譯並安裝 cmake 包;
tar zxf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
gmake && gmake install
創建運行用戶,從而加強數據庫服務的權限控制,使用新創建的運行用戶,此運行用戶不需要直接登錄到系統,可以不創建宿主文件夾。
groupadd mysql
You have new mail in /var/spool/mail/root
useradd -M -s /sbin/nologin mysql -g mysql
將下載的 MySQL 源碼包進行解壓,釋放到 /usr/src 目錄下,並切換到源碼目錄。
tar zxf mysql-5.5.22.tar.gz -C /usr/src
cd /usr/src/mysql-5.5.22/
配置會用到多種字符集的網頁,可爲數據庫系統支持不同的字符集編碼,將默認使用的字符集設置爲 utf8,並添加其他字符集的支持。
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
上述配置命令中,各選項參數的含義:
// -DCMAKE_INSTALL_PREFIX:指定將 mysql 數據庫安裝到某個目錄下;
// -DSYSCONFDIR:指定初始化參數文件目錄;
// -DDEFAULT_CHARSET:指定默認使用的字符集編碼;
// -DDEFAULT_COLLATION:指定默認使用的字符集校對規則;
// -DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼;
編譯並安裝
make && make install
對數據庫目錄進行權限設置
chown -R mysql:mysql /usr/local/mysql
You have new mail in /var/spool/mail/root
MySQL 源碼目錄中的 support-files 文件夾下,提供了適合不同數據庫的樣本配置文件,在不確定數據庫系統的應用規模下,選擇 my-medium.cnf 文件,可滿足企業的應用需求,並根據內容建立 MySQL 數據庫系統的 /etc/my.cnf 配置文件。
rm -rf /etc/my.cnf //如果原來 etc 文件夾下有 my.cnf 文件則可以刪除
cp support-files/my-medium.cnf /etc/my.cnf
初始化數據庫,將運行用戶 mysql 的身份執行初始化腳本 mysql_install_db,指定數據存放目錄等;
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
驗證數據庫是否初始化成功;
爲方便在任何目錄下使用 MySQL 命令,需要在 /etc/profile 設置環境變量;
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
You have new mail in /var/spool/mail/root
. /etc/profile // 立即生效
將 support-files 文件夾下的 mysql.server 腳本文件,將其複製到 /etc/rc.d/init.d 目錄下並改名爲:mysqld,設置執行權限,通過 chkconfig 命令添加爲 mysqld 系統服務。
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
若啓動 mysqld 系統服務,可使用 service 工具或執行 /etc/init.d/mysqld 腳本來控制 MySQL 數據庫服務,當 mysqld 系統服務啓動後,可執行 netstat -anpt | grep mysqld 命令來進行驗證 TCP 端口是否已經監聽到了;
service mysqld start
Starting MySQL.. [確定]
/etc/init.d/mysqld status
MySQL running (59041) [確定]
netstat -anpt | grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 59041/mysqld
4.訪問 MySQL 數據庫
訪問 MySQL 數據庫時,我們可以使用 Linux 系統中自帶的客戶端 mysql 命令工具。默認的管理員用戶爲:root,密碼爲空。
若要使用未設置密碼的 root 用戶登錄 MySQL 數據庫時,可直接執行 mysql -u root 命令即可登錄;
若要使用設置了密碼的 root 用戶登錄 MySQL 數據庫時,可直接執行 mysql -u root -p 命令輸入正確的密碼即可登錄;
登錄成功後,會進入提示符爲“mysql>”數據庫的操作環境,可在該環境下輸入各種 sql 語句對數據庫進行管理,切記每條 sql 語句以分號“;”結束,且操作的 sql 語句可不區分大小寫。
執行“show master logs”語句查看當前數據庫服務的日誌文件信息。
若要退出“mysql>”數據庫的操作環境,可執行“exit”或“quit”命令可退出 mysql 命令行工具。
推薦閱讀
1、SQLServer、MySQL、Oracle三種數據庫的優缺點總結
歡迎關注我的公衆號:傑哥的IT之旅