mysql資料庫二進位制安裝
阿新 • • 發佈:2020-07-21
MySQL資料庫
使用者管理
grant all on *.* to root@'%' identified by '1';
grant select,insert,update on wordpress.* to dev@'172.16.1.%' identified by '1'
資料管理
1.備份資料
2.恢復資料
3.sql語句管理
DDL: CREATE
DCL: GRANT
DML: INSERT
DQL: SELECT
配置管理
1.瞭解配置檔案
2.優化配置
叢集管理
1.單機單節點 2.主從複製(半同步複製,過濾複製) 3.讀寫分離,可以分擔主庫壓力 4.MHA
資料庫監控管理
1.程序 ps -ef
2.埠 netstat
3.監控主從狀態
4.監控主從延時情況
5.sql讀寫速率
6.慢日誌(記錄執行命令時間)
運維層面監控
1.系統硬體監控
2.服務程序
3.埠監控
4.網路監控
5.業務監控(使用curl命令)
高階資料庫架構師
#刪除語句,最好加上條件
1.
delete 只刪除資料
drop 還刪除表
truncate 直接清空表
\G; \g
2.常用發命令記錄,下次直接複製
MySQL
1.資料。資料是對資訊的記錄,計算機用0和1表示
資料庫分類
-
關係型資料庫(sql)
- 一般用於網際網路企業
- 資料存取是通過SQL(Structured Query Language結構化查詢語言)
- 安全性強(ACID 原子性 一致性 隔離性 永續性)
- 強大的查詢功能
- 建立索引(像是目錄)
- 儲存在磁碟
以二維表的形式儲存
-
非關係型資料庫(nosql)
- 不是否定關係型資料庫,而是做關係型資料庫的補充。
- 效能高,高併發
- 典型產品redis、MongoDB(最接近關係型資料庫的NoSQL)、memcached(只講效能,不講安全)。
- 管理不適用SQL管理,而是用一些特殊的API或資料介面。
- 強一致性
- 容易遷移資料
- 容易擴充套件,集合
- 大多數儲存在記憶體
非關係型資料庫,很多以json格式進行儲存資料,類似於開發語言的翻譯官 java python php mysql mongodb Elasticsearch redis redis 127.0.0.1:6379> set k1 v1 #設定值 OK 127.0.0.1:6379> get k1 #檢視值 "v1"
Redis特點
- 高效能高併發,有安全
- 資料持久化功能(記憶體--磁碟)
- 支援多資料型別,主從複製和叢集
- 管理不需要使用sql
以數值對(key value)的形式儲存在記憶體或磁碟
是對資料的快取,資料最終儲存在資料庫
資料庫排行(https://db-engines.com/en/ranking)
mysql安裝包下載(https://db-engines.com/en/ranking)
mysql資料庫版本
#版本選擇的潛規則:
5.6版本: 選擇GA 6-12 個月,小版本為偶數版
5.7版本: 選擇GA 6-12 個月,小版本為偶數版,儘量選擇5.7.17版本以上
安裝方式
1.原始碼包
2.二進位制包(.exe)
3.rpm包安裝(映象站)
二進位制安裝流程
1.官網下載 && rz
2.安裝依賴包
[root@db02 ~]# yum install -y ncurses-devel libaio-devel
3.解壓MySQL原始碼包
[root@db03 ~]# tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
4.移動目錄
[root@db03 ~]# mv mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/
5.做個軟連結
[root@db03 ~]# cd /usr/local/
[root@db03 local]# ln -s mysql-5.6.46-linux-glibc2.12-x86_64/ mysql
6.建立使用者mysql
[root@db03 local]# useradd mysql -s /sbin/nologin -M
7.拷貝配置檔案.cnf和啟動指令碼mysql.server
[root@db03 mysql]# cp support-files/my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
該指令碼是C6的啟動指令碼
[root@db03 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
8.初始化資料庫
[root@db03 mysql]# cd /usr/local/mysql/scripts/
[root@db03 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
兩個ok就說明初始化成功了,如果有報錯的話在底下
--user 指定使用者
--basedir 指定安裝目錄
--datadir 指定資料目錄
9.啟動資料庫,#顯示日誌,C6的啟動方式
[root@db03 scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/db03.err'.
..... SUCCESS!
10.做軟連結或者把命令加入環境變數
軟連結
[root@db03 mysql]# ln -s /usr/local/mysql/bin/ /usr/bin/mysql
加入環境變數
[root@db03 scripts]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
11.systemctl管理mysql,#C7的啟動指令碼
vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
12.使用systemctl,#C7的管理方式
[root@db03 ~]# systemctl daemon-reload
[root@db03 ~]# systemctl stop mysqld
[root@db03 ~]# systemctl start mysqld
13.確認啟動
[root@db03 ~]# ps -ef|grep mysql
[root@db03 ~]# netstat -lntup|grep 3306
14.bash後連線資料庫
[root@db03 ~]# mysql