1. 程式人生 > 實用技巧 >mysql資料庫二進位制安裝

mysql資料庫二進位制安裝


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特點

  1. 高效能高併發,有安全
  2. 資料持久化功能(記憶體--磁碟)
  3. 支援多資料型別,主從複製和叢集
  4. 管理不需要使用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