1. 程式人生 > 其它 >|NO.Z.00008|——————————|^^ 構建 ^^|——|Mysql&Mariadb&二進位制部署配置.V1|

|NO.Z.00008|——————————|^^ 構建 ^^|——|Mysql&Mariadb&二進位制部署配置.V1|



[Applications:Mysql&Mariadb&二進位制部署配置.V1]                                                   [Applications.Databases] [|mysql/mariadb10.2.35二進位制安裝/配置]








一、二進位制包下載:
### --- 二進位制包下載:

~~~		地址:https://downloads.mariadb.org/mariadb/10.2.35/   選擇你要安裝的版本;
### --- 該地址有三種資料格式的檔案:
~~~		Source——原始碼
~~~		Binaries——二進位制
~~~		Packages——rpm包(針對centos,Redhat,Ubuntu系列的)

### --- 下載二進位制包:
~~~		linux表示在linux系統中效驗過的程式。
~~~		mariadb-10.2.35-linux-x86_64.tar.gz版本 
### --- 二進位制10.2.35版本配置教程地址:
~~~		https://mariadb.com/kb/en/installing-mariadb-binary-tarballs/

~~~		原始碼只帶版本號,不會帶linux或者window提示,包比較小,只有69.9MB左右,而二進位制檔案,
~~~		是在linux或者window上編譯好了的,會帶有一些提示資訊。

二、安裝二進位制程式mariadb: 1、檢查系統環境:
### --- 確保當前系統沒有安裝相同的軟體包;

[root@localhost ~]# rpm -q mariadb-server
package mariadb-server is not installed
[root@localhost ~]# rpm -q mysql-server
package mysql-server is not installed
### --- 檢視當前3306埠是空閒的

[root@localhost ~]# ss -ntl
2、二進位制包安裝準備教程:
### --- 準備使用者:
~~~		-r:普通的系統使用者,
~~~		-d:指定家目錄,(建議使用邏輯卷;便於擴充套件)
~~~		/data/mysqldb這個資料夾預設是沒有的,執行上面也不會建立,加上-m強行去建立,當前不去強制,後期改
~~~		-s /sbin/nologin shell型別,

[root@localhost ~]# useradd -r -d /data/mysqldb    -s /sbin/nologin mysql 
[root@localhost ~]# getent passwd mysql
mysql:x:996:994::/data/mysqldb:/sbin/nologin
[root@localhost ~]# id mysql            								// 主組建立好了
uid=996(mysql) gid=994(mysql) groups=994(mysql)  
### --- 指定存放資料庫程式目錄路徑,
[root@localhost ~]# tar -zxvf mariadb-10.2.35-linux-x86_64.tar.gz  -C /usr/local/ 	// -C表示指定檔案的路徑;解壓完是mariadb-10.2.35-linux-x86_64,編譯時使用的mysql目錄,建立軟連線或者更改目錄名稱,此刻會建立存放資料庫程式的第一個資料夾

### --- 建立軟連線
[root@localhost local]# ln -s mariadb-10.2.35-linux-x86_64/ mysql  		// 因為編譯的時候使用的是mysql這個資料夾,建議建立軟連線;也是可以的
[root@localhost local]# ll
lrwxrwxrwx   1 root root  29 Nov  6 17:11 mysql -> mariadb-10.2.35-linux-x86_64/
### --- 更改檔案的所有者(不強制更改)

[root@localhost local]# ll mysql/             							// 檢視資料夾發現檔案的所有者都是1000,
total 176
drwxrwxr-x  2 1000 1000  4096 Oct 23 01:55 bin

[root@localhost local]# chown -R root mysql/  							// 只改檔案的所有者,所屬組不會發生變化;
[root@localhost local]# ll mysql/
drwxrwxr-x  2 root 1000  4096 Oct 23 01:55 bin
[root@localhost local]# chown -R root: mysql/  							// root:加上冒號表示所屬組也更改,或者root:root也是同理
[root@localhost local]# ll mysql/
drwxrwxr-x  2 root root  4096 Oct 23 01:55 bin
3、配置環境變數:
### --- 配置環境變數:

[root@localhost ~]# ls /usr/local/mysql/bin/        					// 資料庫的二進位制檔案
aria_chk        mbstream           mysqladmin 
### --- 放到PATH變數裡面

[root@localhost local]# echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh  // 把mysql的二進位制檔案放到PATh變數裡面
[root@localhost local]# . /etc/profile.d/mysql.sh               		// 使變數生效
[root@localhost local]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
4、建立資料存放目錄,若是生產資料,建議使用邏輯卷(邏輯卷建立教程:知識點一)
### --- 建立存放生產資料目錄mysqldb(在/data下掛載邏輯卷後建立mysqldb)

[root@localhost ~]# df		-h
/dev/mapper/vg0-lv_mysql  62879748   32992  62846756   1% /data
[root@localhost ~]# mkdir /data/mysqldb
[root@localhost ~]# chown mysql.mysql /data/mysqldb   					// 把改資料夾所有者所屬組都更改為mysql

[root@localhost ~]# ll -d /data/mysqldb/
drwxr-xr-x 2 mysql mysql 6 Nov  6 17:57 /data/mysqldb/
[root@localhost ~]# chmod 770 /data/mysqldb/          					// 更改檔案的許可權,其他人不可以訪問該資料夾
[root@localhost ~]# ll -d /data/mysqldb/
drwxrwx--- 2 mysql mysql 6 Nov  6 17:57 /data/mysqldb/
5、檢查程式所需要的兩個資料夾:
### --- 檢查程式所需要的兩個資料夾:

[root@localhost ~]# ll /usr/local/mysql/ -d         					// 資料庫程式存放的位置
drwxrwxr-x 12 root root 282 Nov  3 02:30 /usr/local/mysql/
[root@localhost ~]# ll /data/mysqldb/ -d            					// 收集使用者資料的,生產資料存放位置
drwxrwx--- 2 mysql mysql 6 Nov  6 17:57 /data/mysqldb/
6、生成mysql資料庫檔案:呼叫指令碼(進入到二進位制程式所在的資料夾裡面);只是指定生成資料庫檔案。
### --- 生成資料庫資料檔案

[root@localhost ~]# cd /usr/local/mysql/            					// 進入到二進位制程式資料夾
[root@localhost mysql]# ls scripts/                 					// 生成資料庫檔案呼叫指令碼,該指令碼在scripts目錄之下。
mysql_install_db
[root@localhost scripts]# ./mysql_install_db  --datadir=/data/mysqldb  --user=mysql     // --datadir  指定生成的資料庫存放位置
FATAL ERROR: Could not find ./bin/my_print_defaults
~~~		安裝資料庫;在scripty下執行會報錯;
~~~		因為該mysql_install_db指令碼會呼叫一些檔案mysql目錄下的一些檔案,只能切回上一級目錄

[root@localhost mysql]# scripts/mysql_install_db  --datadir=/data/mysqldb  --user=mysql // 執行該指令碼,出現ok說明呼叫指令碼成功,生成資料庫成功
Installing MariaDB/MySQL system tables in '/data/mysqldb' ...
OK
[root@localhost mysql]# ll /data/mysqldb/           					// 可以在我們準備的收集使用者資料的目錄下看到檔案
total 110620
-rw-rw---- 1 mysql mysql    16384 Nov  6 18:13 aria_log.00000001       

三、配置啟動程式指令碼
### --- 配置啟動程式指令碼:修改二進位制檔案,告訴二進位制檔案啟動指令碼啟動程式在什麼位置(知識點二、知識點三);
### --- 修改啟動程式二進位制檔案

[root@localhost mysql]# ls support-files/       						// 這個目錄下配置檔案,作為我們mysql資料庫的配置檔案,提供了好幾款的配置檔案,
binary-configure  
my-huge.cnf                     										// 超級大的環境用該程式(針對記憶體來說的)
my-large.cnf                    										// 大環境用該程式(針對記憶體來說的)
my-small.cnf                    										// 小環境用該程式檔案  (針對記憶體來說的)             
my-innodb-heavy-4G.cnf          										// 內測4個G的用該程式(針對記憶體來說的)
my-medium.cnf                   										// 中小型環境用該程式(針對記憶體來說的)
[root@localhost mysql]# cat support-files/mysql-log-rotate      		// 檔案裡會有簡單的說明
# This logname can be set in /etc/my.cnf
# by setting the variable "log-error"

[root@localhost ~]# cp /etc/my.cnf{,.bak}   							// 備份我們之前的配置檔案       shell語句備份範例
[root@localhost mysql]# cp support-files/my-huge.cnf /etc/my.cnf     	// 我們配置huge.cnf環境程式,覆蓋到my.cnf我們的配置檔案
cp: overwrite ‘/etc/my.cnf’?y               							// 表示同意覆蓋
~~~		編輯啟動程式配置檔案

[root@localhost mysql]# vim /etc/my.cnf     							// 修改我們的配置檔案
[client]
port            = 3306
socket          = /tmp/mysql.sock           
[mysqld]
port            = 3306
datadir         = /data/mysqldb             							// 新增生產資料儲存位置
socket          = /tmp/mysql.sock   									// 使用mysql.sock預設檔案位置
四、配置資料庫啟動指令碼:
### --- 配置資料庫啟動指令碼:
### --- 設定開機自啟動

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld  // 把啟動指令碼cp到/etc/init.d/並改名稱為mysqld
[root@localhost mysql]# ll /etc/init.d/mysqld 
[root@localhost mysql]# chkconfig --add mysqld          				  // 預設情況下沒有設定開機自啟動;新增到開機自啟動中
[root@localhost mysql]# chkconfig --list
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@localhost ~]# systemctl  start mysql.service 
### --- MySQL資料庫安全設定:
[root@localhost ~]# mysql_secure_installation
 
### --- 登入mysql資料庫
[root@localhost ~]# mysql -uroot -p123456
Server version: 10.2.35
MariaDB [(none)]> status
UNIX socket:        /tmp/mysql.sock








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)