程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> CentOS 7 中以敕令行方法裝置 MySQL 5.7.11 for Linux Generic 二進制版本教程詳解

CentOS 7 中以敕令行方法裝置 MySQL 5.7.11 for Linux Generic 二進制版本教程詳解

編輯:MySQL綜合教程

CentOS 7 中以敕令行方法裝置 MySQL 5.7.11 for Linux Generic 二進制版本教程詳解。本站提示廣大學習愛好者:(CentOS 7 中以敕令行方法裝置 MySQL 5.7.11 for Linux Generic 二進制版本教程詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是CentOS 7 中以敕令行方法裝置 MySQL 5.7.11 for Linux Generic 二進制版本教程詳解正文


MySQL 今朝的最新版本是 5.7.11,在 Linux 下供給特定刊行版裝置包(如 .rpm)和二進制通用版裝置包(.tar.gz)。普通情形下,許多項目都偏向於采取二進制通用裝置包情勢來停止裝置設置裝備擺設,自界說異常便利。但在裝置進程中發明,其實官方供給的裝置解釋文件太甚簡略,並且外面的參數還有成績,按照履行後,mysql 辦事啟動報錯,查找了一些材料並重復實驗後,本身總結出一套實在可行的裝置設置裝備擺設流程,詳細以下:

1、下載 MySQL for Linux Generic 二進制版本裝置包(.tar.gz),這裡以 5.7.11 版本為例。

2、我普通習氣於將 MySQL 裝置到 /opt 目次下,所以我將 MySQL 裝置包文件復制到 /opt 目次下,切換為 root 賬號後履行以下敕令:

# 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

樹立一個 mysql 的軟銜接,是為了今後便利設置裝備擺設與操作。

3、5.7.11 版本的通用二進制裝置包經解壓後獲得的 MySQL 目次,外部並未包括數據文件寄存的目次,所以須要零丁再創立一個子目次用於寄存數據文件,好比取名為 data,在第二步敕令後(確保在 /opt/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

這裡特殊解釋一下,依據官方文檔說法,從 5.7.6 版本開端,MySQL 初始化應用 mysqld --initialize 敕令,不再應用 mysql_install_db 敕令了。然則官方文檔給出的 mysqld --initialize 敕令並沒有給出 --basedir 和 --datadir 參數,由於它默許應用 /etc/my.cnf 設置裝備擺設文件。有些 Linux 刊行版在裝置進程中能夠會默許生成這個 mysql 設置裝備擺設文件並保留在 /etc 目次下,而默許設置裝備擺設文件中的 basedir、datadir 是被正文的,沒有現實內容,如許 mysqld 現實上照樣不曉得以後的 basedir、datadir 詳細是哪一個目次。所以這裡就經由過程敕令行參數指定我們的自界說目次。包含 mysql_ssl_rsa_setup 敕令也要指定 datadir 目次,由於數據庫須要的密鑰文件也都和數據文件保留在一路,都位於 datadir 目次內。

4、上述任務完成後,先不慌啟動數據庫辦事,這時候還要創立 MySQL 辦事的設置裝備擺設文件 my.cnf。這個文件可以從 /opt/mysql/support-files 子目次下找到一個叫 my-default.cnf 的設置裝備擺設樣例文件,然後復制一個出來,更名為 my.cnf 並放到 /opt/mysql 下便可。依據 MySQL 的規矩,它的設置裝備擺設文件必需以 my.cnf 定名,讀取的次序是先測驗考試讀取 /etc/my.cnf,假如不存在則再讀取 basedir 目次下的 my.cnf,假如體系情況變量沒有 basedir,則測驗考試讀取辦事啟動地點以後目次下的 my.cnf,這裡就是 /opt/mysql/my.cnf 這類情形,假如照樣不存在,則讀取以後用戶家目次下的 .mysql/my.cnf(須要看官方文檔確認一下,記不清了)。所以,我們這裡只需包管在 /opt/mysql 下有一個 my.cnf,修正個中的內容為以下:

basedir = /opt/mysql
datadir = /opt/mysql/data
log-error = /var/log/mysql-error.log

其他的不變。依據官方文檔,log-error 用來指定辦事啟動後的運轉信息日記文件途徑,運轉信息包含 Notice、Error 等類型的日記。

5、設置裝備擺設文件修正保留好後,便可以啟動辦事了,確保以後目次為 /opt/mysql,然後運轉以下敕令:

# bin/msyqld_safe --user=mysql &

這時候辦事便可以正常啟動了。你還可以經由過程敕令 netstat -na -t 檢查 MySQL 辦事的端口 3306 能否曾經處在監聽狀況,假如是,則表現辦事啟動正常。固然,你也能夠檢查日記文件的內容來肯定,我們這裡由於在已在設置裝備擺設文件中指定日記文件為 /var/log/mysql-error.log,所以檢查該文件便可。

6、在本機登錄 MySQL 辦事,從 5.7.10 版本開端不許可 root 空暗碼登錄了。其其實履行 mysqld --initialize 後體系就會為 root 生成一個初始化暗碼,並在屏幕尺度輸入時顯示出來,這個要記住!用這個暗碼第一次登錄後,能力再修正暗碼,這裡假定體系生成的初始化暗碼為 xxxxxx,敕令以下:

# bin/mysql --user=root --password=xxxxxx

如許便可以登錄 MySQL 辦事器了。

7、登錄今後,體系請求必需修正 root 賬號的暗碼,MySQL 敕令以下:

mysql> set password=password('1234');

如許便可以把 root 賬號改成 1234 了。

8、在 Linux 下為了平安,默許是不許可 MySQL 辦事器本機之外的機械拜訪 MySQL 數據庫辦事的,是以須要從新受權 root 賬號。便利其他機械長途拜訪 MySQL 辦事器,MySQL 敕令以下:

mysql> grant all privileges on *.* to root@'%' identified by '1234';
mysql> flush privileges;

如許便可以許可從其他機械用 root 賬號長途登錄 MySQL 辦事器了,可以用上面的 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)

證實體系表 user 中曾經增長了一條關於 root 長途登錄的記載。

9、彌補一下若何停滯 mysql 辦事的敕令:

# mysqladmin --user=root --password shutdown

這裡 root 是 mysql 數據庫的 root,其實不是操作體系的賬號,這點不要弄混了,該敕令會提醒輸出 mysql root 的暗碼,准確的話就會停滯 mysql 辦事了。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved