|NO.Z.00008|——————————|^^ 構建 ^^|——|Mysql&Mariadb&二進位制部署配置.V1|
阿新 • • 發佈:2022-03-22
[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)