《Mysql必讀CentOS 7 中以命令行方式安裝 MySQL 5.7.11 for Linux Generic 二進(jìn)制版本教程詳解》要點(diǎn):
本文介紹了Mysql必讀CentOS 7 中以命令行方式安裝 MySQL 5.7.11 for Linux Generic 二進(jìn)制版本教程詳解,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定發(fā)行版安裝包(如 .rpm)以及二進(jìn)制通用版安裝包(.tar.gz).一般情況下,很多項(xiàng)目都傾向于采用二進(jìn)制通用安裝包形式來(lái)進(jìn)行安裝配置,自定義非常方便.但在安裝過(guò)程中發(fā)現(xiàn),其實(shí)官方提供的安裝說(shuō)明文件太過(guò)簡(jiǎn)單,而且里面的參數(shù)還有問(wèn)題,依照?qǐng)?zhí)行后,mysql 服務(wù)啟動(dòng)報(bào)錯(cuò),查找了一些資料并反復(fù)試驗(yàn)后,自己總結(jié)出一套切實(shí)可行的安裝配置流程,具體如下:MYSQL必讀
1、下載 MySQL for Linux Generic 二進(jìn)制版本安裝包(.tar.gz),這里以 5.7.11 版本為例.MYSQL必讀
2、我一般習(xí)慣于將 MySQL 安裝到 /opt 目錄下,所以我將 MySQL 安裝包文件復(fù)制到 /opt 目錄下,切換為 root 賬號(hào)后執(zhí)行以下命令:MYSQL必讀
# 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 的軟連接,是為了以后方便配置與操作.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í)行如下命令:MYSQL必讀
# 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
這里特別說(shuō)明一下,根據(jù)官方文檔說(shuō)法,從 5.7.6 版本開(kāi)始,MySQL 初始化使用 mysqld --initialize 命令,不再使用 mysql_install_db 命令了.但是官方文檔給出的 mysqld --initialize 命令并沒(méi)有給出 --basedir 以及 --datadir 參數(shù),因?yàn)樗J(rèn)使用 /etc/my.cnf 配置文件.有些 Linux 發(fā)行版在安裝過(guò)程中可能會(huì)默認(rèn)生成這個(gè) mysql 配置文件并保存在 /etc 目錄下,而默認(rèn)配置文件中的 basedir、datadir 是被注釋的,沒(méi)有實(shí)際內(nèi)容,這樣 mysqld 實(shí)際上還是不知道當(dāng)前的 basedir、datadir 具體是哪個(gè)目錄.所以這里就通過(guò)命令行參數(shù)指定我們的自定義目錄.包括 mysql_ssl_rsa_setup 命令也要指定 datadir 目錄,因?yàn)閿?shù)據(jù)庫(kù)需要的密鑰文件也都和數(shù)據(jù)文件保存在一起,都位于 datadir 目錄內(nèi).MYSQL必讀
4、上述工作完成后,先不慌啟動(dòng)數(shù)據(jù)庫(kù)服務(wù),這時(shí)還要?jiǎng)?chuàng)建 MySQL 服務(wù)的配置文件 my.cnf.這個(gè)文件可以從 /opt/mysql/support-files 子目錄下找到一個(gè)叫 my-default.cnf 的配置樣例文件,然后復(fù)制一個(gè)出來(lái),改名為 my.cnf 并放到 /opt/mysql 下即可.根據(jù) MySQL 的規(guī)則,它的配置文件必須以 my.cnf 命名,讀取的順序是先嘗試讀取 /etc/my.cnf,如果不存在則再讀取 basedir 目錄下的 my.cnf,如果系統(tǒng)環(huán)境變量沒(méi)有 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)容為如下:MYSQL必讀
basedir = /opt/mysql datadir = /opt/mysql/data log-error = /var/log/mysql-error.log
其余的不變.根據(jù)官方文檔,log-error 用來(lái)指定服務(wù)啟動(dòng)后的運(yùn)行信息日志文件路徑,運(yùn)行信息包括 Notice、Error 等類型的日志.MYSQL必讀
5、配置文件修改保存好后,就可以啟動(dòng)服務(wù)了,確保當(dāng)前目錄為 /opt/mysql,然后運(yùn)行以下命令:MYSQL必讀
# bin/msyqld_safe --user=mysql &
這時(shí)服務(wù)就可以正常啟動(dòng)了.你還可以通過(guò)命令 netstat -na -t 查看 MySQL 服務(wù)的端口 3306 是否已經(jīng)處在監(jiān)聽(tīng)狀態(tài),如果是,則表示服務(wù)啟動(dòng)正常.當(dāng)然,你也可以查看日志文件的內(nèi)容來(lái)確定,我們這里因?yàn)樵谝言谂渲梦募兄付ㄈ罩疚募?/var/log/mysql-error.log,所以查看該文件即可.MYSQL必讀
6、在本機(jī)登錄 MySQL 服務(wù),從 5.7.10 版本開(kāi)始不允許 root 空密碼登錄了.其實(shí)在執(zhí)行 mysqld --initialize 后系統(tǒng)就會(huì)為 root 生成一個(gè)初始化密碼,并在屏幕標(biāo)準(zhǔn)輸出時(shí)顯示出來(lái),這個(gè)要記住!用這個(gè)密碼第一次登錄后,才能再修改密碼,這里假定系統(tǒng)生成的初始化密碼為 xxxxxx,命令如下:MYSQL必讀
# bin/mysql --user=root --password=xxxxxx
這樣就可以登錄 MySQL 服務(wù)器了.MYSQL必讀
7、登錄以后,系統(tǒng)要求必須修改 root 賬號(hào)的密碼,MySQL 命令如下:MYSQL必讀
mysql> set password=password('1234');
這樣就可以把 root 賬號(hào)改為 1234 了.MYSQL必讀
8、在 Linux 下為了安全,默認(rèn)是不允許 MySQL 服務(wù)器本機(jī)以外的機(jī)器訪問(wèn) MySQL 數(shù)據(jù)庫(kù)服務(wù)的,因此需要重新授權(quán) root 賬號(hào).方便其他機(jī)器遠(yuǎn)程訪問(wèn) MySQL 服務(wù)器,MySQL 命令如下:MYSQL必讀
mysql> grant all privileges on *.* to root@'%' identified by '1234'; mysql> flush privileges;
這樣就可以允許從其他機(jī)器用 root 賬號(hào)遠(yuǎn)程登錄 MySQL 服務(wù)器了,可以用下面的 MySQL 命令來(lái)驗(yàn)證一下:MYSQL必讀
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)程登錄的記錄.MYSQL必讀
9、補(bǔ)充一下如何停止 mysql 服務(wù)的命令:MYSQL必讀
# mysqladmin --user=root --password shutdown
這里 root 是 mysql 數(shù)據(jù)庫(kù)的 root,并不是操作系統(tǒng)的賬號(hào),這點(diǎn)不要搞混了,該命令會(huì)提示輸入 mysql root 的密碼,正確的話就會(huì)停止 mysql 服務(wù)了. MYSQL必讀
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5231.html