1. 添加數據庫運行時的用戶身份
groupadd -r -g 306 mysql useradd -r -u 306 -g 306 mysql
2. 解壓並放到指定位置/usr/local
tar -zxvf mariadb-5.5.46-linux-x86_64.tar.gz mv mariadb-5.5.46 && mv mariadb-5.5.46 /usr/local/mysql
修改權限確保安全
chown -R root:mysql /usr/local/mysql
3. 創建單獨的數據庫目錄用於存放數據庫!
mkdir /mysqldata chown -R mysql:mysql /mysqldata
4. 準備配置文件
cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
MySQL配置文件有 /etc/my.cnf ---> /etc/mysql/my.cnf ---->~./my.cnf
讀取順序從左到右,優先級依次遞增! 即如果~./my.cnf中與前2個配置衝突,則以~./my.cnf爲準
爲什麼有這麼多配置文件?該如何配置呢?
MySQL進程可以運行在不同的用戶身份下,通常也叫做不同的MySQL實例。
如果服務器上僅跑一個數據庫實例,那麼只需要準備/etc/my.cnf即可
如果有多個MySQL實例,那麼在/etc/my.cnf下可配置全局選項,而~./my.cnf單獨針對該實例配置
support-files中有很多的最佳實踐的配置文件可供參考
5. 準備環境變量
export PATH=/usr/local/mysql/bin:$PATH
由於是通用二進制包,並沒有寫入環境變量。而MySQL中某些配置文件使用的是相對路徑,並且爲了方便地直接調用/usr/local/mysql/bin下的文件,建議添加mysql的目錄到環境變量。這是臨時修改,要重啓也生效,請寫入到/etc/profile或自行解決。
6. 初始化數據庫
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysqldata
請注意一定要指明--basedir否則在初始化過程中會出現這樣的:
FATAL ERROR: Could not find ./bin/my_print_defaults
因爲初始化腳本用的是相對的basedir路徑,當然了你也可以自行編輯一下腳本
7. 修改/etc/my.cnf配置文件
vim /etc/my.cnf [mysqld] datadir=/mysqldata ......
8.添加到服務啓動,並且啓動mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig -add mysqld service mysqld start
9. 安全初始化
二進制包爲我們提供了安全初始化腳本,在/usr/local/mysql/bin/mysql_secure_installation
由於之前已經加入環境變量,所以直接使用mysql_secure_installation即可啓動。
請注意安全初始化,需要mysqld服務啓動後才能正常進行!!