紅帽7以上系統默認數據庫再也不是mysql了,rpm和yum方式安裝的都是mariadb,但也不是不能裝mysql,能夠使用編譯安裝的方式來裝mysql。mysql
實驗環境:centos7.2c++
實驗目標:安裝並配置mysql5.5.32sql
新增分區
數據庫
先經過fdisk建立一個新分區,配額,用來存放mysql的數據:vim
刷新硬盤信息:
centos
#partprobe devices
格式化新增分區:安全
# mkfs.xfs /dev/vdb3
根目錄建立mysql數據掛載點(根據實際狀況)bash
# mkdir /data
編輯/etc/fstab,新增一行設置開機自動掛(參數根據實際狀況):
ide
/dev/vdb3 /data xfs defaults 0 0
執行mount -av,根據fstab文檔自動掛載:工具
# mount -av
安裝mysql
開始安裝以前,先把mysql用戶刪除掉,不然是編譯不成功的。注意使用 -r 所有清空。
# userdel -r mysql # grep mysql /etc/passwd
建立一個mysql用戶,設置成8001
# useradd -u 8001 -s /sbin/nologin mysql
安裝依賴以及必要工具:
yum –y install ncurses-devel yum –y install cmake yum –y install gcc-c++開始
解壓mysql:
# tar xvf mysql-5.5.32.tar.gz
使用cmake開始編譯:
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
查看編譯狀態,輸出0表明成功了:
# echo $?
執行安裝:
# make && make install
給mysql安裝目錄、數據存放目錄受權mysql用戶
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /data
chmod 1777 /tmp
查看/etc下的my.cnf文件,能夠發現該文件沒有配置的,把剛編譯好的文件夾中的配置文件覆蓋掉系統目錄的配置文件
建立配置:
# cp support-files/my-large.cnf /etc/my.cnf
設置環境變量:
# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile # source /etc/profile
設置服務腳本,設置開機自動啓動:
# cp support-files/mysql.server /etc/init.d/mysqld
給腳本添加執行權限:
# chmod +x /etc/init.d/mysqld
服務腳本修改2個參數(MySQL安裝目錄,數據存放目錄# vim /etc/init.d/mysqld):
basedir=/usr/local/mysql datadir=/data
初始化數據庫:
給文件執行權限:
# chmod +x scripts/mysql_install_db
初始化數據庫,看到2個ok表明執行成功:
# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql
初始化安全配置:
啓動mysql服務:
# service mysqld start
直接執行:
# mysql_secure_installation
回車:
Y:設置密碼
登陸mysql測試: # mysql -u root -p
添加全局命令:
# ln -s /usr/local/mysql/bin/mysql /bin/