天天看點

MySQL通用二進制檔案在Unix / Linux上安裝MySQL

(一)官方網站下載下傳軟體 請通路http://dev.mysql.com/downloads/檢視我們的下載下傳頁面, 了解有關目前版本的MySQL和下載下傳說明的資訊。有關MySQL下載下傳鏡像站點的完整清單,請參閱 http://dev.mysql.com/downloads/mirrors.html。您還可以在這裡找到有關成為MySQL鏡像站點以及如何報告錯誤或過期鏡像 的資訊。

(二)驗證MD5校驗和

Linux示例:

shell> md5sum mysql-standard-5.7.20-linux-i686.tar.gz
aaab65abbec64d5e907dcd41b8699945  mysql-standard-5.7.20-linux-i686.tar.gz
           

Oracle提供了一組MySQL的二進制發行版。這些包括用于多個平台的壓縮tar檔案(具有

.tar.gz

擴充名的檔案 )的形式的通用二進制分發,以及用于所選平台的平台特定包格式的二進制檔案。

警告

如果您以前使用作業系統本機包管理系統安裝了MySQL,例如

yum

 或者

apt-get

,您可能會遇到使用本機二進制進行安裝的問題。確定您以前的MySQL安裝已完全删除(使用您的軟體包管理系統),并且還删除了任何其他檔案(确定以前的MySQL資料檔案和配置檔案等等不需要才可以删除),如舊版本的資料檔案。您也應該檢查配置檔案,如 

/etc/my.cnf

或 

/etc/mysql

目錄,并删除它們。

重要

  • MySQL依賴于

    libaio

     庫。如果此庫未在本地安裝,則資料目錄初始化和後續伺服器啟動步驟将失敗。如有必要,請使用相應的軟體包管理器進行安裝。例如,基于Yum的系統:
    shell> yum search libaio  # search for info
    shell> yum install libaio # install library
               

在Unix上,要安裝壓縮的tar檔案二進制檔案,請在您選擇的安裝位置(通常為

/usr/local/mysql

)解壓縮。這将建立下表中顯示的目錄。

(三)使用二進制安裝MySQL

表2.3通用Unix / Linux二進制包的MySQL安裝布局

目錄 目錄内容

bin

mysqld伺服器,用戶端和實用程式

data

日志檔案,資料庫

docs

資訊格式的MySQL手冊

man

Unix手冊頁

include

包含(标題)檔案

lib

圖書館

share

其他支援檔案,包括錯誤消息,示例配置檔案,用于資料庫安裝的SQL

要安裝和使用MySQL二進制分發,指令序列如下所示:

配置my.cnf檔案:(按需要配置選項)

[[email protected] mysql]# cat /etc/my.cnf | grep -v ^#

[client]

socket=/usr/local/mysql/mysql.sock

[mysqld]

server_id=10

port=3306

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

socket=/usr/local/mysql/mysql.sock

pid_file=/usr/local/mysql/mysql.pid

log_error=/usr/local/mysql/mysql_error.log

log_bin=/usr/local/mysql/data/mysql_bin

relay_log=/usr/local/mysql/data/relay_bin

[mysqld_safe]

log-error=/usr/local/mysql/mysql_safe.log

pid-file=/usr/local/mysql/mysql_safe.pid

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql         #         /bin/false                選項來建立一個不具有對伺服器主機的登入權限的使用者
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5      --user=mysql一定要用MySQL使用者
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up#--initialize初始化資料庫,--user=mysql要用MySQL使用者
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up  
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
           

備注:記錄下伺服器的錯誤日志檔案log-error初始MySQL的root的密碼,可以使用它進行登入:

2017-07-01T07:36:31.297149Z 1 [Note] A temporary password is generated for [email protected]: q+/sih8U-Z*u

(四)檢查MySQL

1:檢查MySQL服務程序是否存在:mysqld_safe 和mysqld 

[[email protected] mysql]# ps -ef | grep mysql

root     13909 62313  0 15:37 pts/3    00:00:00 /bin/sh bin/mysqld_safe --user=mysql

mysql    14139 13909  0 15:37 pts/3    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/mysql_error.log --pid-file=/usr/local/mysql/mysql_safe.pid --socket=/usr/local/mysql/mysql.sock --port=3306

2:檢查MySQL安裝的基本目錄和資料目錄以及各種檔案是否都是MySQL的屬組和屬于者mysql:mysql

3:檢查伺服器的運作錯誤日志檔案log-error中是否有錯誤

如果有錯誤error,請解決。

4:檢查不需要的配置參數

確定伺服器未配置為忽略網絡連接配接,或(如果您嘗試遠端連接配接),則該伺服器尚未配置為僅在其網絡接口上本地偵聽。如果伺服器啟動

--skip-networking

,它将不會接受TCP / IP連接配接。如果啟動了伺服器 

--bind-address=127.0.0.1

,它将隻在本地監聽環回接口上的TCP / IP連接配接,并且不接受遠端連接配接。如果伺服器使用該--skip-grant-tables選項啟動 ,則它不會讀取授權表或實作任何通路​​控制。任何人都可以連接配接和做任何事情,這是不安全的。為了使伺服器開始讀取表并啟用通路檢查,請重新整理權限。生産環境需要禁用這些選項:

--skip-networking;--skip-grant-tables; 

--bind-address=127.0.0.1,--no-defaults表示禁用配置檔案

5:檢查其他參數

user=mysql,--initialize初始化資料庫

密碼長度要合适

端口,服務ID等等

(五) 更改MySQL的root賬号密碼

[r [email protected] mysql]#cd  /usr/local/mysql/

登入到root賬号

[r[email protected] mysql]#bin/mysql  -h localhost -u root -p  或者bin/mysql  -u root -p

Enter password:  輸入日志檔案的初始密碼

然後更改root賬号的密碼

mysql> set password=password("123456");

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

mysql> exit

然後再重新登入一次,使用新密碼,如果登入成功,修改成功。

為了友善使用,我們該

ln

指令建立一個到安裝目錄的符号連結。這使您能夠更容易地将其引用為

/usr/local/mysql

。為避免在使用MySQL時始終鍵入用戶端程式的路徑名,您可以将該

/usr/local/mysql/bin

 目錄添加到

PATH

變量中:

shell> echo  $PATH
              shell> export PATH=$PATH:/usr/local/mysql/bin