MySQL CentOS7 手動安裝


手動安裝MySQL的目的

1、一個服務器上可以同時裝多個版本,甚至相同版本MySQL的多個實例,這種需求很常見;

2、一次初始化和配置后,可以快速復制到本服務器或其他服務器,及封裝為初始MySQL的綠色版;

3、調查問題時,只要找到MySQL的Home,所有資源都在里面。

手動安裝要達到的目標

1、盡量各種文件都集中在一個文件夾里,防止多實例時發現相同Linux路徑下出現相同文件而尷尬(如pid、cnf、log、sock等文件的位置);

2、復制的實例 盡量只簡單配置 一下my.cnf、mysql.server啟動停止shell、mysqld.service 服務管理的單元文件、防火牆,甚至不需要配置環境變量;

3、默認初始化root密碼固定(如123456),可以遠程訪問。

實操步驟

1、MySQL官網下載Linux Generic版本,我下載的是 5.7.27;

2、服務器上安裝 lrzsz,Free implementation of X/Y/Zmodem protocol.  一般服務器都預裝,或 yum -y install lrzsz  安裝即可,為了把下載好的MySQL傳上去;

3、下載putty-nd 遠程分支,Noodle build of PuTTY suite,putty官方版不支持 rz上傳、sz下載,我下載的版本是 V6.6 ;

4、打開putty-nd,進入服務器,創建好安裝目錄,我的目錄是  /usr/local/mysql  並進入該目錄;(此時創建mysql用戶,以mysql用戶重新登陸安裝可以,以root身份安裝也可以,我就以root安裝)

5、命令 rz 回車,提示選擇下載好的Linux Generic壓縮包(約630M),等待上傳到服務器(很快);

6、直接解壓  tar -xvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz  ,解壓完 重命名為 mysql-5.7.27;

7、進入 /usr/local/mysql/mysql-5.7.27  目錄后,開始准備my.cnf 配置文件,具體如下:data、pid、err、log、sock都在同一目錄下

[mysqld]
port=3306
basedir=/usr/local/mysql/mysql-5.7.27
datadir=/usr/local/mysql/mysql-5.7.27/data
pid-file=/usr/local/mysql/mysql-5.7.27/mysqld.pid
log-error=/usr/local/mysql/mysql-5.7.27/mysqld.err

user=root

max_connections=151

symbolic-links=0

lower_case_table_names = 1

character-set-server=utf8
 
collation-server=utf8_general_ci

bind-address = 0.0.0.0

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

[client]
port=3306
socket=/usr/local/mysql/mysql-5.7.27/mysql.sock

default-character-set=utf8

8、將my.cnf 配置文件上傳至 當前目錄 : /usr/local/mysql/mysql-5.7.27   。 命令# rz 回車選擇my.cnf 配置文件上傳;

9、進入  support-files/  目錄修改mysql.server  shell文件:注意 只修改shell開頭的basedir、datadir變量的賦值

#!/bin/sh
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
# This file is public domain and comes with NO WARRANTY of any kind

# MySQL daemon start/stop script.


basedir=/usr/local/mysql/mysql-5.7.27
datadir=/usr/local/mysql/mysql-5.7.27/data

10、添加環境變量,這是為了打包制作MySQL綠色版,所以必須要配置后登陸修改root密碼、開啟遠程;

命令 #  vi /etc/profile  添加 以下路徑和變量賦值,注意添加在export之前,且把MYSQL_HOME變量也加在export 后面;

之后編譯profile文件# source /etc/profile 

MYSQL_HOME=/usr/local/mysql/mysql-5.7.27

PATH=$PATH:$MYSQL_HOME/bin

11、初始化數據庫,得到初始隨機密碼 ,命令  ./bin/mysqld --user=root --basedir=/usr/local/mysql/mysql-5.7.27 --datadir=/usr/local/mysql/mysql-5.7.27/data --initialize 

12、開啟MySQL服務: ./support-files/mysql.server start 

13、以初始密碼登陸: mysql -u root -p ,登陸后修改初始密碼: ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'; 

14、開啟遠程訪問:

use mysql

select host,user from user;

update user set host='%' where user='root';

flush privileges;

15、打開防火牆3306端口

16、編輯一個Linux 服務單元文件 = mysqld.service,用來控制MySQL的重啟和關閉,將其上傳至 /usr/lib/systemd/system 目錄,同樣CD進入此目錄后 命令 # rz選擇此文件即可上傳。

[Unit]
Description=MySQL Server 5.7.27
Documentation=
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/mysql/mysql-5.7.27/mysqld.pid
ExecStart=/usr/local/mysql/mysql-5.7.27/support-files/mysql.server start
ExecReload=/usr/local/mysql/mysql-5.7.27/support-files/mysql.server restart
ExecStop=/usr/local/mysql/mysql-5.7.27/support-files/mysql.server  stop

[Install]
WantedBy=multi-user.target

17、設置開機自啟動  systemctl enable mysqld ,這里的mysqld就是前面的單元文件名稱,命令可以加文件名后面的service,也可不加;

18、打包綠色版結束。

總結:關鍵點就3個,1正確的編輯my.cnf配置文件,及放置的位置basedir根目錄;2修改MySQL重啟的shell文件mysql.server,添加basedir、datadir;3、編輯管理服務的單元文件 mysqld.service,並放在正確的位置。

以下截圖示所有臨時文件和數據文件都在此目錄下,可就此目錄打包下載存檔。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM