第一章 簡介
Mysql:MySQL是一種關系數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。體積小、速度快、總體擁有成本低、開放源代碼、性能快捷、優化SQL語言、容易使用、多線程和可靠性、多用戶支持、可移植性和開放源代碼、遵守國際標準和國際化支持、為多種編程語言提供API。
Mycat:Mycat是一個強大的數據庫中間件,不僅僅可以用作讀寫分離、以及分表分庫、容災備份,而且可以用于多租戶應用開發、云平臺基礎設施、讓你的架構具備很強的適應性和靈活性,借助于即將發布的Mycat智能優化模塊,系統的數據訪問瓶頸和熱點一目了然,根據這些統計分析數據,你可以自動或手工調整后端存儲,將不同的表映射到不同存儲引擎上,而整個應用的代碼一行也不用改變。
第二章 安裝
2.1、安裝Mysql
1、卸載系統自動安裝的mariadb
`yum -y remove maria*`
2、安裝mysql的rpm包,需按照以下順序進行安裝。
~~~
rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
~~~
或者,使用 yum 命令安裝 MySQL,需要注意的是 CentOS 7 版本中 MySQL數據庫已從默認的程序列表中移除,所以在安裝前我們需要先去官網下載 Yum 資源包,下載地址為:[https://dev.mysql.com/downloads/repo/yum/](https://dev.mysql.com/downloads/repo/yum/)
~~~
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
~~~
權限設置:
~~~
chown mysql:mysql -R /var/lib/mysql
~~~
驗證是否安裝成功
~~~
[root@host]# mysqladmin --version
~~~
3、初始化mysql數據庫,獲取登錄密碼
`mysqld --initialize --user=mysql`
若提示目錄下有文件,直接將/var/lib/mysql/ 文件夾下的文件刪除干凈再次執行。

?
完成后 進入日志文件查找初始化生成的密碼vi /var/log/mysqld.log

**新版本mysql初次密碼是空的,用以下命令修改登錄密碼。**
mysqladmin -u root password "123456";
*****
4、啟動mysql
`systemctl start mysqld`
5、修改初始密碼
登錄mysql
mysql -u root -p
輸入日志中的密碼
第一次更改密碼前所有的操作都是禁止的,依次執行:
`set password=password('123456');flush privileges; quit;`
或者通過命令行
`mysqladmin -u root -p"5NUV1wX<;pj=" password 123456`
6、重啟mysql:
`systemctl restart mysqld`
7、查看配置文件:
`cat /etc/my.cnf`
2.1、安裝Mycat
下載Mycat-server-xxxxx.linux.tar.gz地址:
http://dl.mycat.io/1.6-RELEASE/
1、檢查主機的java環境
java –version 檢查版本(需1.7以上)
yum –y install java
2、mycat本機需安裝mysql,但不需要啟動。
3、確保本機的hostname在/etc/hosts里存在
~~~
[root@vmware1 logs]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
vmware1
~~~
4、為防止后續啟動mycat的時候會報錯:
~~~
[root@vmware1 logs]# env
XDG_SESSION_ID=5
HOSTNAME=vmware1
~~~
5、解壓文件
`tar –zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz`
bin 程序目錄,存放了window版本和linux版本,除了提供封裝成服務的版本之外,也提供了nowrap的shell腳本命令。
conf目錄下存放配置文件,server.xml是Mycat服務器參數調整和用戶授權的配置文件,
schema.xml是邏輯庫定義和表以及分片定義的配置文件,rule.xml是分片規則的配置文件,
分片規則的具體一些參數信息單獨存放為文件,也在這個目錄下,配置文件修改,需要重啟
Mycat或者通過9066端口reload。
lib目錄下主要存放mycat依賴的一些jar文件。
日志存放在logs/mycat.log中,每天一個文件,日志的配置是在conf/log4j.xml中,根據自
己的需要,可以調整輸出級別為debug,debug級別下,會輸出更多的信息,方便排查問題。
注意:Linux下部署安裝MySQL,默認不忽略表名大小寫,需要手動到/etc/my.cnf 下配置
lower_case_table_names=1 使Linux環境下MySQL忽略表名大小寫,否則使用MyCAT的時候會提示找不到表的錯誤
7、MyCAT在Linux中部署啟動
到Mycat解壓的目錄的bin下執行:
./mycat start 即可啟動mycat服務
8、檢查啟動狀態:

- 一、日常運維腳本
- 1.1 批量創建用戶并賦予sudo權限
- 1.2 批量主機建立互信
- 1.3create_images.sh
- 1.4monitor.sh
- 1.5ftp腳本
- 1.6格式化分區
- 1.7簡單的遠程執行腳本
- 二、常用服務使用
- 1 ceph (分布式文件系統)
- 1.1 ceph 簡介
- 1.2 準備環境
- 1.3 開始部署
- 1.4 cephfs掛載
- 1.5 RBD塊存儲
- 1.6 object 對象存儲
- 1.7 集群擴展
- 1.7.1 增加刪除MON
- 1.7.2 增加刪除OSD
- 1.7.3 刪除MDS
- 注意事項
- 遇到的問題
- 1.8ceph查找數據文件
- 1.9卸載并清理環境
- 2、mysql (數據庫)
- 2.1 搭建
- 2.2 使用教程
- 2.2.1 mysql基礎配置
- 2.2.1.1 用戶權限管理
- 2.2.1.2用戶資源限制
- 2.2.1.3 密碼管理
- 2.2.1.4用戶lock
- 2.2.2mysql語法詳解
- 2.2.1建庫、表語句
- 2.2.2.2 插入 insert
- 2.2.2.3更新 update
- 2.2.2.4刪除 delete
- 2.2.2.5查詢 select
- 2.2.6視圖 索引 view index
- 2.2.7 修改 alert
- 2.2.2.8清理 truncate drop
- 2.2.9重命名 rename
- 示例語句
- 2.2.3mysql常用函數
- 2.3.1 對比操作符統概
- 2.3.2對比操作符詳解
- 2.3.3邏輯操作符
- 2.2.4分配操作符
- 2.2.5流程控制函數
- 2.2.6字符串函數
- 2.2.7字符串對比函數
- 2.2.8數字函數
- 2.2.9日期和時間函數
- 2.2.10聚合/格式轉換函數
- 2.2.11 子查詢
- 示例語句
- 2.2.4 mysql 高級應用
- 2.2.4.1 存儲過程 函數
- 2.2.4.2流程控制
- 2.2.4.3游標
- 2.2.4.4觸發器
- 課堂練習
- 2.2.2.5 數據庫設計
- 2.2.5.1 數據類型
- 2.2.5.2存儲引擎
- 2.2.6Innodb內核
- 1、innodb事務和多版本控制
- 2、體系結構
- 3、InnoDB配置
- 4、buffer pool設置
- 5、其他配置
- innodb限制
- 2.7 字符集
- 2.8鎖機制和事務
- 2.8.1鎖機制
- 2.8.2事務
- 2.9分區
- 2.9.1 自動分區
- 2.10復制
- 2.11mysql搬移數據目錄
- 2.12組復制 GR
- 簡介
- 搭建
- 2.3日常運維
- 2.3.1定時任務
- 2.4mycat
- 2.4.1 報錯分析
- 2.4.2 修改字符集
- 2.11 mycat使用
- 2.5遇到問題
- 2.5.1 表名庫名忽略大小寫
- 3、PAAS平臺搭建
- 問題匯總
- 1、docker
- 2、日常運維
- 3.1 Kubernetes
- 3.1 kubernetes 高版本搭建
- 4、GlusterFS搭建
- 5、MooseFS搭建
- 5.1搭建
- 5.2運維
- 5.2.1 mfs日志解析
- 5.2.2清理mfs的垃圾數據
- 5.2.3元數據故障恢復
- 5.2.4 MFS優化
- 5.2.5 配置機架感知
- 5.2.6 客戶端工具集
- 6、集群切換命令
- 7、ntp服務
- 8、monggoDB
- 8.1搭建單機
- 2、搭建集群及分片
- 9、MariaDB Galera Cluster
- 9.1源碼安裝MariaDB
- 9.2galera cluster 優劣
- 9.3 rpm安裝mariadb
- 10 HAproxy1.7搭建
- 11、sysbench 搭建使用
- 0.5版本
- 12 percona-xtradb-cluster
- 13http服務相關
- 13.1 http狀態碼解析
- 14 zookeeper
- 14.1 zookeeper日志查看
- 14.2 配置解析
- 14.3 優化
- 15搭建私有pip源
- 16/var/log的日志文件解釋
- 15 ansible的搭建及使用
- 15.1 搭建
- 15.2 使用說明
- 16. 搭建本地yum源
- zookeeper
- 優化
- 四、開發語言
- 1、GO語言
- 1.1go簡介
- 1.1.1hello_world初識GO
- 1.1.2并發介紹
- 1.1.3 chan介紹
- 1.1.4多返回值
- 1.2go基礎
- 1.2.1數據類型
- 1.2.2 go基礎結構
- 1.2.3 const及變量介紹
- 1.2.3os和time介紹
- 1.2.4 字符串
- 1.2.5條件判斷
- 1.2.6 homework
- go--help
- 1.3 go基礎2
- 1.3.1 數組 array
- 1.3.2切片 slice
- 1.3.3 時間和日期
- 1.3.4指針類型
- 1.3.5函數
- 1.3.6可變參數
- 1.3.7 defer
- 1.3.8遞歸
- 1.9閉包
- 1.10 map
- 1.11 sort
- 1.12 struct 結構體
- 2.perl語言
- 2.1 安裝lib包
- 3 python
- 1.語言基礎
- 2、編程教學
- 2.1變量和序列
- 2.2 條件語句