1. 程式人生 > >Linux系統指定目錄下安裝配置Mysql 5.7.15步驟圖文詳解,只需5分鐘搞定

Linux系統指定目錄下安裝配置Mysql 5.7.15步驟圖文詳解,只需5分鐘搞定

mysql安裝有兩種:原始碼自編譯安裝和編譯過的二進位制檔案進行安裝。後一種方法相比原始碼安裝,節省了半個小時的編譯時間,只需要合理配置即可。至於其他的優劣,歡迎大家討論。網上有很多教程,但是對於想要把mysql安裝到指定路徑的博文卻很少,而且還有很多漏洞。為了以後安裝方便,抽了點時間整理了一下,既方便大家,也方便自己。本文使用mysql最新版本5.7.15作為研究物件,如有問題,歡迎指正。可以先看一遍博文,第二遍直接按文中程式碼,五分鐘就可以搞定,當然前提是要先準備好工具材料。

1、下載安裝包 :
進去mysql官網,下載需要的版本,如下圖
這裡寫圖片描述

這裡寫圖片描述

2、下載之後,上傳到伺服器上要安裝的目錄中,或者是使用wget,但是由於檔案過大(600M),所以我採用本地下載再上傳。然後解壓壓縮檔案,解壓過程有點耗時,耐心等待。然後重新命名為mysql,並且在mysql下面新建目錄data,作為mysql的資料儲存目錄。本次安裝,我在usr下新建了mylocal資料夾。

[root@ZhOu mylocal]# tar -xf mysql-5.7.15-linux-glibc2.5-x86_64.tar 
[root@ZhOu mylocal]# tar -zxf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
[root@ZhOu mylocal]# mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql
[root@ZhOu mylocal]# cd mysql
[root@ZhOu mysql]# mkdir data

這裡寫圖片描述

3、建立mysql使用者組,建立之後,可以檢視是否建立成功

[root@ZhOu /]# groupadd mysql
[root@ZhOu /]# useradd -r -g mysql mysql
[root@ZhOu /]# cat /etc/group | grep mysql

這裡寫圖片描述

4、賦權,更改所屬的組和使用者:

 [root@ZhOu mylocal]# chown -R mysql.mysql /usr/mylocal/mysql
 [root@ZhOu mylocal]# chown -R mysql.mysql /usr/mylocal/mysql/data
 [root@ZhOu mylocal]# chgrp -R mysql /usr/mylocal/mysql

5、進入mysql資料夾,複製support-files檔案下的my-default.cnf和mysql.server,如下:

[root@ZhOu mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@ZhOu mysql]# cp support-files/mysql.server /etc/init.d/mysqld

這裡寫圖片描述

6、編輯mysqld,修改為指定路徑:

[root@ZhOu mysql]# vi /etc/init.d/mysqld 

這裡寫圖片描述

7、把mysql路徑新增到環境變數中,方便操作命令:

[root@ZhOu mysql]# vi /etc/profile

檔案末尾新增export MYSQL=/usr/mylocal/mysql,path中加入$MYSQL/bin: 。

這裡寫圖片描述

8、使修改後的profile檔案生效:

[root@ZhOu mysql]# source /etc/profile

9、執行資料庫初始化操作,執行檔案為mysql下bin資料夾中mysql_install_db,basedir為安裝目錄,datadir為資料檔案目錄。注:mysql_install_db在5.6版本中位於scripts資料夾,5.7已經取消該資料夾,合併到bin下。

[[email protected] bin]# ./mysql_install_db --basedir=/usr/mylocal/mysql  --user=mysql --datadir=/usr/mylocal/mysql/data

這裡寫圖片描述

10、完成之後,啟動mysql服務:

[root@ZhOu bin]# service mysqld start

這裡寫圖片描述

此時已經可以啟動服務,但整個工程只算完成了一半。
注意:新版的可能會報錯,因為mysqld_safe的原因,舊版本安裝的時候沒有報錯,只需要把mysqld_safe中的預設路徑修改為自己的目標路徑,再執行就可以了。

這裡寫圖片描述

11、修改密碼:首先關閉服務,把mysql/bin/mysqld_safe中usr/local/mysql換成指定安裝的路徑名,然後執行下面程式碼。

[root@ZhOu bin]# service mysqld stop
[root@ZhOu bin]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

這裡寫圖片描述

此時已經進入免過濾狀態,開始修改root密碼。注:5.6版本user表中密碼欄位是password,5.7之後改為authentication_string,不再有password。

[[email protected] bin]# mysql
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('root') where user='root';
mysql> flush privileges;
mysql> exit;

這裡寫圖片描述

12、此時,密碼已經修改完成。退出重新登入,本以為搞定了,但是建立資料庫,卻報錯了,錯誤是:ERROR 1820 (HY000): You must reset your password using ALTER USER statement。原來第一登入,還要再次設定密碼,無語!修改之後,建立成功。

mysql> alter user 'root'@'localhost' identified by 'root';
mysql> flush privileges;
mysql> exit;

這裡寫圖片描述
使用 SET PASSWORD = PASSWORD(‘root’)來修改密碼也是可以的。

13、工程完成一大半了,此時如果遠端連線登入,會報錯誤的。如下:
這裡寫圖片描述
下面修改遠端連線許可權,很簡單,只需要修改user表中root使用者的host就可以了。改完之後,記得重啟一下服務,再次遠端連線,搞定!

mysql> use mysql;
mysql> select user,host from user;
mysql> update user set host='%' where user='root';

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

14、設定mysql開機自啟動:

[root@ZhOu ~]# chkconfig mysqld on

15、測試了一下功能,都沒什麼問題。使用mysqldump的時候,卻有點小意外。

[[email protected] /]# mysqldump -uroot -proot mysql > mysql.dump
mysqldump: [Warning] Using a password on the command line interface can be insecure.

找了一下原因,設定一下etc/my.cnf即可。如下:

[root@ZhOu /]# vi etc/my.cnf 

這裡寫圖片描述

儲存之後,執行如下程式碼,一切OK!

[root@ZhOu /]# mysqldump  mysql > mysql.dump

這裡寫圖片描述

16、設定編碼:
由於是免安裝,字符集是預設的latin1,所以就需要動手設定一下了。首先看下一編碼:

mysql> show variables like '%character%'

就可以看到當前系統的編碼。然後手工設定一下就行了,開啟etc/my.cnf,在[mysqld]下面新增以下兩行程式碼就行了。

character_set_server = utf8
collation_server = utf8_general_ci

這裡寫圖片描述

17、到此,mysql已經安裝結束了。如果有什麼錯誤的地方,歡迎批評指正。同時希望大家能夠多提意見加入其中,使其更快更完善。