CentOS 7 中以命令行方式安裝 MySQL 5.7.11 for Linux Generic 二進(jìn)制版本教程詳解
MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定發(fā)行版安裝包(如 .rpm)以及二進(jìn)制通用版安裝包(.tar.gz)。一般情況下,很多項(xiàng)目都傾向于采用二進(jìn)制通用安裝包形式來進(jìn)行安裝配置,自定義非常方便。但在安裝過程中發(fā)現(xiàn),其實(shí)官方提供的安裝說明文件太過簡(jiǎn)單,而且里面的參數(shù)還有問題,依照?qǐng)?zhí)行后,mysql 服務(wù)啟動(dòng)報(bào)錯(cuò),查找了一些資料并反復(fù)試驗(yàn)后,自己總結(jié)出一套切實(shí)可行的安裝配置流程,具體如下:
1、下載 MySQL for Linux Generic 二進(jìn)制版本安裝包(.tar.gz),這里以 5.7.11 版本為例。
2、我一般習(xí)慣于將 MySQL 安裝到 /opt 目錄下,所以我將 MySQL 安裝包文件復(fù)制到 /opt 目錄下,切換為 root 賬號(hào)后執(zhí)行以下命令:
# tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz # ln -s mysql-5.7.11-linux-glibc2.5-x86_64 mysql # cd mysql
建立一個(gè) mysql 的軟連接,是為了以后方便配置與操作。
3、5.7.11 版本的通用二進(jìn)制安裝包經(jīng)解壓后得到的 MySQL 目錄,內(nèi)部并未包含數(shù)據(jù)文件存放的目錄,所以需要單獨(dú)再創(chuàng)建一個(gè)子目錄用于存放數(shù)據(jù)文件,比如取名為 data,在第二步命令后(確保在 /opt/mysql 目錄下),繼續(xù)執(zhí)行如下命令:
# groupadd mysql # useradd -r -g mysql -s /bin/false mysql # mkdir data # chown -R root:root . # bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data # bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data
這里特別說明一下,根據(jù)官方文檔說法,從 5.7.6 版本開始,MySQL 初始化使用 mysqld --initialize 命令,不再使用 mysql_install_db 命令了。但是官方文檔給出的 mysqld --initialize 命令并沒有給出 --basedir 以及 --datadir 參數(shù),因?yàn)樗J(rèn)使用 /etc/my.cnf 配置文件。有些 Linux 發(fā)行版在安裝過程中可能會(huì)默認(rèn)生成這個(gè) mysql 配置文件并保存在 /etc 目錄下,而默認(rèn)配置文件中的 basedir、datadir 是被注釋的,沒有實(shí)際內(nèi)容,這樣 mysqld 實(shí)際上還是不知道當(dāng)前的 basedir、datadir 具體是哪個(gè)目錄。所以這里就通過命令行參數(shù)指定我們的自定義目錄。包括 mysql_ssl_rsa_setup 命令也要指定 datadir 目錄,因?yàn)閿?shù)據(jù)庫需要的密鑰文件也都和數(shù)據(jù)文件保存在一起,都位于 datadir 目錄內(nèi)。
4、上述工作完成后,先不慌啟動(dòng)數(shù)據(jù)庫服務(wù),這時(shí)還要?jiǎng)?chuàng)建 MySQL 服務(wù)的配置文件 my.cnf。這個(gè)文件可以從 /opt/mysql/support-files 子目錄下找到一個(gè)叫 my-default.cnf 的配置樣例文件,然后復(fù)制一個(gè)出來,改名為 my.cnf 并放到 /opt/mysql 下即可。根據(jù) MySQL 的規(guī)則,它的配置文件必須以 my.cnf 命名,讀取的順序是先嘗試讀取 /etc/my.cnf,如果不存在則再讀取 basedir 目錄下的 my.cnf,如果系統(tǒng)環(huán)境變量沒有 basedir,則嘗試讀取服務(wù)啟動(dòng)所在當(dāng)前目錄下的 my.cnf,這里就是 /opt/mysql/my.cnf 這種情況,如果還是不存在,則讀取當(dāng)前用戶家目錄下的 .mysql/my.cnf(需要看官方文檔確認(rèn)一下,記不清了)。所以,我們這里只需保證在 /opt/mysql 下有一個(gè) my.cnf,修改其中的內(nèi)容為如下:
basedir = /opt/mysql datadir = /opt/mysql/data log-error = /var/log/mysql-error.log
其余的不變。根據(jù)官方文檔,log-error 用來指定服務(wù)啟動(dòng)后的運(yùn)行信息日志文件路徑,運(yùn)行信息包括 Notice、Error 等類型的日志。
5、配置文件修改保存好后,就可以啟動(dòng)服務(wù)了,確保當(dāng)前目錄為 /opt/mysql,然后運(yùn)行以下命令:
# bin/msyqld_safe --user=mysql &
這時(shí)服務(wù)就可以正常啟動(dòng)了。你還可以通過命令 netstat -na -t 查看 MySQL 服務(wù)的端口 3306 是否已經(jīng)處在監(jiān)聽狀態(tài),如果是,則表示服務(wù)啟動(dòng)正常。當(dāng)然,你也可以查看日志文件的內(nèi)容來確定,我們這里因?yàn)樵谝言谂渲梦募兄付ㄈ罩疚募?/var/log/mysql-error.log,所以查看該文件即可。
6、在本機(jī)登錄 MySQL 服務(wù),從 5.7.10 版本開始不允許 root 空密碼登錄了。其實(shí)在執(zhí)行 mysqld --initialize 后系統(tǒng)就會(huì)為 root 生成一個(gè)初始化密碼,并在屏幕標(biāo)準(zhǔn)輸出時(shí)顯示出來,這個(gè)要記?。∮眠@個(gè)密碼第一次登錄后,才能再修改密碼,這里假定系統(tǒng)生成的初始化密碼為 xxxxxx,命令如下:
# bin/mysql --user=root --password=xxxxxx
這樣就可以登錄 MySQL 服務(wù)器了。
7、登錄以后,系統(tǒng)要求必須修改 root 賬號(hào)的密碼,MySQL 命令如下:
mysql> set password=password('1234');
這樣就可以把 root 賬號(hào)改為 1234 了。
8、在 Linux 下為了安全,默認(rèn)是不允許 MySQL 服務(wù)器本機(jī)以外的機(jī)器訪問 MySQL 數(shù)據(jù)庫服務(wù)的,因此需要重新授權(quán) root 賬號(hào)。方便其他機(jī)器遠(yuǎn)程訪問 MySQL 服務(wù)器,MySQL 命令如下:
mysql> grant all privileges on *.* to root@'%' identified by '1234'; mysql> flush privileges;
這樣就可以允許從其他機(jī)器用 root 賬號(hào)遠(yuǎn)程登錄 MySQL 服務(wù)器了,可以用下面的 MySQL 命令來驗(yàn)證一下:
mysql> use mysql; mysql> select host,user from user; +-----------+-----------+ | host | user | +-----------+-----------+ | % | root | | localhost | mysql.sys | | localhost | root | +-----------+-----------+ 3 rows in set (0.00 sec)
證明系統(tǒng)表 user 中已經(jīng)增加了一條關(guān)于 root 遠(yuǎn)程登錄的記錄。
9、補(bǔ)充一下如何停止 mysql 服務(wù)的命令:
# mysqladmin --user=root --password shutdown
這里 root 是 mysql 數(shù)據(jù)庫的 root,并不是操作系統(tǒng)的賬號(hào),這點(diǎn)不要搞混了,該命令會(huì)提示輸入 mysql root 的密碼,正確的話就會(huì)停止 mysql 服務(wù)了?! ?/p>
- Linux下MySQL5.7.18二進(jìn)制包安裝教程(無默認(rèn)配置文件my_default.cnf)
- CentOS6.5 上部署 MySQL5.7.17 二進(jìn)制安裝以及多實(shí)例配置
- Mysql5.7.18版本(二進(jìn)制包安裝)自定義安裝路徑教程詳解
- Centos 7 安裝mysql5.7.24二進(jìn)制 版本的方法及解決辦法
- Centos7.5安裝mysql5.7.24二進(jìn)制包方式部署
- linux二進(jìn)制通用包安裝mysql5.6.20教程
- ubuntu系統(tǒng)中安裝mysql5.6(通過二進(jìn)制)
- mysql 5.7.19 二進(jìn)制最新安裝
- Linux下mysql5.6.24(二進(jìn)制)自動(dòng)安裝腳本
- Mysql二進(jìn)制安裝與備份的全過程記錄
相關(guān)文章
mysql創(chuàng)建觸發(fā)器時(shí)報(bào)1064錯(cuò)誤問題及解決
這篇文章主要介紹了mysql創(chuàng)建觸發(fā)器時(shí)報(bào)1064錯(cuò)誤問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08MySQL中的驅(qū)動(dòng)表與被驅(qū)動(dòng)表及含義
使用join連接查詢時(shí)如果有where條件,則MySQL執(zhí)行器會(huì)根據(jù)查詢條件過濾后的結(jié)果自動(dòng)選擇驅(qū)動(dòng)表或被驅(qū)動(dòng)表,這篇文章主要介紹了MySQL的驅(qū)動(dòng)表與被驅(qū)動(dòng)表,需要的朋友可以參考下2023-10-10MySQL 5.7雙主同步部分表的實(shí)現(xiàn)過程詳解
這篇文章主要給大家介紹了關(guān)于MySQL 5.7雙主同步部分表實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09MySQL 8.0.19安裝詳細(xì)教程(windows 64位)
這篇文章主要介紹了MySQL 8.0.19安裝詳細(xì)教程(windows 64位),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Mysql中key和index的區(qū)別點(diǎn)整理
在本篇文章里小編給大家整理的是關(guān)于Mysql中key和index的區(qū)別點(diǎn)整理,需要的朋友們可以學(xué)習(xí)下。2020-03-03如何使用Maxwell實(shí)時(shí)同步mysql數(shù)據(jù)
這篇文章主要介紹了如何使用Maxwell實(shí)時(shí)同步mysql數(shù)據(jù),幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-04-04mysql優(yōu)化小技巧之去除重復(fù)項(xiàng)實(shí)現(xiàn)方法分析【百萬級(jí)數(shù)據(jù)】
這篇文章主要介紹了mysql優(yōu)化小技巧之去除重復(fù)項(xiàng)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了mysql去除重復(fù)項(xiàng)的方法,并附帶了隨機(jī)查詢優(yōu)化的相關(guān)操作技巧,需要的朋友可以參考下2020-01-01