MySQL數據庫簡介及安裝實驗

本節索引:

一、MySQL數據庫簡介

二、實驗:使用yum源安裝MariaDB 10.2.15

三、實驗:通用二進制格式安裝MariaDB 10.2.15

四、實驗:編譯安裝MariaDB 10.2.15

五、實驗:進行mysql(MariaDB)多實例安裝

timg_image&quality=80&size=b9999_10000&sec=1528205736800&di=7a111f1abbfc6b6dc42e

一、MySQL數據庫簡介

MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前

屬于 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,

在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management

?System,關系數據庫管理系統) 應用軟件。

 

MySQL歷史

1979年:TcX公司 Monty Widenius,Unireg

1996年:發布MySQL1.0,Solaris版本,Linux版本

1999年:MySQL AB公司,瑞典

2003年:MySQL 5.0版本,提供視圖、存儲過程等功能

2008年:Sun 收購

2009年:Oracle收購sun

2009年:Monty成立MariaDB

 

MySQL和MariaDB

官方網址:

https://www.mysql.com/

http://mariadb.org/

官方文檔

https://dev.mysql.com/doc/

https://mariadb.com/kb/en/

版本演變:

MySQL:5.1 –> 5.5 –> 5.6 –> 5.7

MariaDB:5.5 –>10.0–> 10.1 –> 10.2 –> 10.3

 

MariaDB的特性

插件式存儲引擎:也稱為“表類型”,存儲管理器有多種實現版本,功能和特

性可能均略有差別;用戶可根據需要靈活選擇,Mysql5.5.5開始innoDB引擎是

MYSQL默認引擎

MyISAM ==> Aria

InnoDB ==> XtraDB

單進程,多線程

諸多擴展和新特性

提供了較多測試組件

開源

 

 

下面我們以MariaDB為例,來介紹數據庫在Linux系統上的安裝

 

前期準備:

操作系統:CentOS 7.4

環境準備:關閉SELinux安全策略,Iptables防火墻,確認當前主機未安裝MySQL或MariaDB其他版本

準備對應的安裝包:

MariaDB 10.2.15官方下載頁面:https://downloads.mariadb.org/mariadb/10.2.15/

mariadb-10.2.15.tar???????????????????????????????? MariaDB源代碼安裝包

mariadb-10.2.15-linux-x86_64.tar???????????????? MariaDB二進制格式安裝包

LG[PR`5{Y`OL{5%HQZYA8@2

 

一、實驗:使用yum源安裝MariaDB 10.2.15

去官網查詢,復制yum源,yum install

1登錄MariaDB官方網站:http://mariadb.org/

MariaDB 10.2.15下載界面:https://downloads.mariadb.org/mariadb/10.2.15/

2 找到下圖所示,點擊Repository Configuration Tool.

網頁

3 根據自己的系統版本選擇相應的選項,就會出現對應的yum源數據庫配置

yum源

4.yum將數據庫配置復制入庫文件,并進行安裝

安裝

安裝MariaDB:

yum install mariadb

 

5.添加安全加固

mysql_secure_installation?????????????????????? 運行此腳本,交互式

是否設置root口令 ????????????????????? y

是否刪除匿名用戶 ? ? ? ? ? ? ? ? ? ? ?y

是否允許root遠程登錄 ???????????? n

是否刪除test數據庫?? ?????????????? y

privilege tables ? ? ? ? ? ? ? ? ? ? ? ? ?y

加密

 

二、實驗:通用二進制格式安裝MariaDB 10.2.15

1.去官網下載:

mariadb-10.2.15-linux-86_64.tar.gz

 

2.準備用戶賬號

useradd -r -d? /data/mysqldb -s /sbin/nologin? mysql

 

3.解壓包到默認安裝路徑

安裝包默認路徑:configure –prefix=/usr/local

tar -xvf mariadb-version.tar.gz? -C? /usr/local/

1

4.修改文件權限

cd /usr/local

ln -s mariabd-10.2.15-linux-x86_64/? mysql

ll mysql/

chown -R root:root mysql/

2

5.修改PATH變量,方便mysql目錄下的二進制程序執行

ls /usr/local/mysql/bin

3

echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh

. /etc/profile.d/mysql.sh

4

6.創建數據庫路徑

mkdir /data/mysqldb

chown mysql.mysql /data/mysqldb

chmod 770? /data/mysqldb

5

7.生成系統自帶數據庫相關文件

cd /usr/local/mysql????????????????????????? 必須在此目錄下執行

scripts/mysql_install_db –datadir=/data/mysqldb –user=mysql

ll /data/mysqldb/???????????????????? 確認相關文件是否生成

6

8.生成mysql配置文件

ll /usr/local/mysql/support-files??? 可查看數據庫自帶的各種配置模板

cp /etc/my.cnf /etc/my.cnf.bak???????????? 建議備份配置文件

cp my-hug.cnf? /etc/my.cnf

vim /etc/my.cnf

[mysqld]

datadir???????????? = /data/mysqldb????????????? ##添加此行,指定數據庫存放路徑

8

9.添加mysql到服務

cp support-files/mysql.server? /etc/init.d/mysqld

chkcibfug –add mysqld

service mysqld start

9

10.添加安全加固

mysql_secure_installation

 

 

三、實驗:編譯安裝MariaDB 10.2.15

1.準備好源碼安裝包

mariadb-10.2.15.tar.gz

2.安裝相關依賴包

yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

 

3.創建用戶

useradd -r -s /sbin/nologin mysql

 

4.解壓縮源碼包

tar -xvf mariadb-10.2.15.tar.gz

3

5.創建數據庫路徑

mkdir /data/mysqldb

chown mysql.mysql /data/mysqldb

chmod 770? /data/mysqldb

2

6.cmake編譯

cd /mariadb-10.2.15/

cmake . \

-DCMAKE_INSTALL_PREFIX=/app/mysql \

-DMYSQL_DATADIR=/data/mysqldb/ \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \

-DWITH_DEBUG=0 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

7.編譯安裝

make -j 4 && make install

 

8.準備環境變量

echo ‘PATH=/app/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh

. /etc/profile.d/mysql.sh

4

9.生成數據庫文件

cd /app/mysql/

scripts/mysql_install_db –datadir=/data/mysqldb/ –user=mysql –basedir=/app/mysql

setfacl -R -m u:mysql:rwx? /app/mysql/

5

10.準備配置文件

cp /app/mysql/support-files/my-huge.cnf ?/etc/my.cnf

 

11.準備啟動腳本

cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

 

12.啟動服務

chkconfig –add mysqld

service mysqld start

6

 

 

四、實驗:實現多實例安裝

實驗預期:在一臺虛擬機上安裝三套MariaDB數據庫,數據庫版本5.5

思路:三套配置文件(日志文件,配置文件,數據庫文件),三個不同的端口

1.安裝第一個實例

yum install mariadb-server

 

2.規劃目錄

mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} –pv

目錄結構如下:

[root@CentOS7 ~]#tree /mysqldb/

/mysqldb/

├── 3306

│?? ├── data

│?? ├── etc

│?? ├── log

│?? ├── pid

│?? └── socket

├── 3307

│?? ├── data

│?? ├── etc

│?? ├── log

│?? ├── pid

│?? └── socket

└── 3308

├── data

├── etc

├── log

├── pid

└── socket

1

 

3.修改目錄及文件權限

chown -R mysql.mysql? /mysql

2

4.創建各自數據庫文件

mysql_install_db –datadir=/mysqldb/3306/data? –user=mysql [–basedir=/usr/ 二進制安裝]

mysql_install_db –datadir=/mysqldb/3307/data? –user=mysql

mysql_install_db –datadir=/mysqldb/3308/data? –user=mysql

3

5.創建各自配置文件

cp /etc/my.cnf /mysqldb/3306/etc/

 

6.修改各自配置文件

vim my.cnf

[mysqld]

port=3306

datadir=/mysqldb/3306/data

socket=/mysqldb/3306/socket/mysql.sock

 

[mysqld_safe]

log-error=/mysqldb/3306/log/mariadb.log

pid-file=/mysqldb/3306/pid/mariadb.pid

 

#!includefir /etc/my.cnf.d?????????????? 添加此行注釋

4

參照3306配置文件,將3307,3308配置文件也生成

cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/my.cnf

cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/my.cnf

 

7.準備啟動服務腳本

chmod? 700? mysqld??????????? 添加執行權限

cp mysqld? /mysqldb/3306 /

cp mysqld? /mysqldb/3307/

cp mysqld? /mysqldb/3308 /

注意修改啟動服務腳本中的不同的參數

#!/bin/bash

port=3306

mysql_pwd=””

cmd_path=”/usr/bin”

5

8.確認系統自帶示例停止服務

systemctl stop mariadb

 

9.啟動多實例服務

/mysqldb/{3306,3307,3308}/mysqld start

ss -ntl

6

10.測試多實例

mysql? -S /mysqldb/3308/socket/mysql.sock

MariaBD [(none)]> show variables like ‘%port%’;

7

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/100465

(2)
wangxczwangxcz
上一篇 2018-06-05
下一篇 2018-06-05

相關推薦

  • mysql主從復制

    首先配置主從復制結構 主節點: # vim /etc/my.cnf.d/server.cnf [mysqld] server_id=1 log_bin=master-bin innodb_file_per_table=on skip_name_resolve=on # systemctl start mairadb mysql> grant repli…

    Linux筆記 2018-06-10
  • MongoDB Replica Set & Sharding

    ?????????????????????????????記得風吹起的零散記憶 ,堆砌著巧克力般的幸福甜蜜,那時一起走過的青草綠地 ,留下了錦瑟音里的萬千思緒

    2018-04-10
  • TCP/IP

    TCP/IP不是一個協議,而是一個協議族的統稱。里面包括IP協議、IMCP協議、TCP協議。 TCP/IP分層: 這里有幾個需要注意的知識點: 互聯網地址:也就是IP地址,一般為網絡號+子網號+主機號 域名系統:通俗的來說,就是一個數據庫,可以將主機名轉換成IP地址 RFC:TCP/IP協議的標準文檔 端口號:一個邏輯號碼,IP包所帶有的標記 Socket:…

    Linux筆記 2018-05-05
  • 第二周作業

    正則表達式 grep搜索符合條件的行 man grep print lines matching a pattern grep abc需要標準輸入,經常用于管道符的右側 grep?-v不包含pattern的選項 grep?-i忽略大小寫 grep?-n加上匹配模式(pattern)行號 cat?-n /etc/passwd |grep root ls |gr…

    Linux筆記 2018-04-08
  • LINUX的哲學思想

    1.一切皆文件 把幾乎所有資源統統抽象為文件形式,不僅普通的文件,目錄、字符設備、塊設備、 套接字等還包括硬件設備,甚者通信接口等。在Linux 中都是以文件被對待;它們雖然類型不同,但是對其提供的卻是同一套操作界面。訪問任何設備都可以用統一的一個接口。方便統一管理 由眾多功能單一的程序組成。一個程序只做一件事,并且要做好,保證linux程序的高效運行。需要…

    Linux筆記 2018-06-27
欧美性久久久久