在Centos上安裝配置MySQL
阿新 • • 發佈:2018-10-31
之前曾在伺服器上安裝配置過MariaDB,畢竟MySQL作為Oracle的產品隨時存在閉源的風險,Red Hat Enterprise Linux / CentOS 7.0從支援MySQL切換到MariaDB作為預設資料庫管理系統。其中MariaDB的預設配置檔案位置在 /etc/my.cnf
。
下面主要就是記錄一下安裝配置過程以及遇到的一些坑。
準備條件
- 伺服器 : CentOS Linux release 7.3.1611
- MySQL安裝包 : mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
安裝配置
我是把安裝包下載到 /root
1. 解壓:
[[email protected]_16_16_centos ~]#
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 2. 更名:
[[email protected]_16_16_centos ~]#
mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql 3. 將解壓後的資料夾即
mysql
移動到 /opt/
目錄下:官方建議解壓後的檔案放置在 /usr/local
下,然後現在新版的Linux是建議第三方軟體放在/opt
下,兩者都可以。但我是放在 /opt
目錄下的,畢竟這是第三方軟體,不是系統自帶的。[ [email protected]_16_16_centos ~]#
mv mysql /opt/ 4. 新增使用者:當時我並沒有新增使用者,隨後就遇到了一些坑。該新增的使用者是用來執行
mysqld
命令的。 - 切換到
/opt
目錄:[[email protected]_16_16_centos ~]#
cd /opt/</font>
- 建立使用者組:
[[email protected]_16_16_centos opt]#<font color="lightgreen">groupadd mysql</font>
- 向
mysql使用者組中新增
使用者:由於該使用者只是為了所有權的目的,沒有登入的目的。因此建立的該使用者沒有登入伺服器的許可權。
[[email protected]_16_16_centos opt]#<font color="lightgreen">useradd -r -g mysql -s /bin/false mysql
</font>
5. 安裝資料庫:在新版的資料庫中
mysql_install_db命令已被deprecated,所以我們使用
mysqld命令。
- 切換到
bin目錄:
[[email protected]_16_16_centos opt]#<font color="lightgreen">cd mysql/bin/</font>
- 初始化安裝:我是把資料檔案放在
/data/mysql目錄下的,所以
[[email protected]_16_16_centos bin]#<font color="lightgreen">mkdir -p /data/mysql</font>,然後執行
[[email protected]_16_16_centos bin]#` ./mysqld –initialize –user=mysql –basedir=/opt/mysql/ –datadir=/data/mysql/ 結果如下:
初始密碼為: lFDklwoy+3lh
自從5.7.18後開始不在二進位制包中提供
my-default.cnf
檔案,不需要該配置檔案也能正常執行。將
mysql.server
拷貝到系統服務中並重命名為mysqld
:[[email protected]_16_16_centos bin]#
cp ../support-files/mysql.server /etc/init.d/mysqld。如果你這時候執行
/etc/init.d/mysqld start
命令的話,會報如下的錯:
這時候需要我們vim /etc/init.d/mysqld
,如圖所示:
如果這個時候執行
/etc/init.d/mysqld start
仍然報錯的話,如下圖所示:
那麼就是/etc/my.cnf
這個配置檔案在搗鬼了。我們將它重新命名為/etc/my.cnf.back.old
:[[email protected]_16_16_centos bin]#
mv /etc/my.cnf /etc/my.cnf.back.old再次輸入
/etc/init.d/mysqld start
就能成功啟動資料庫伺服器了。最後我們來配置一下環境變數:
12. 大功告成了,這其中遇到了不少的坑,在此記錄一下!