腳本描述 每7天備份一次所有數據,每天備份binlog,也就是增量備份. (如果數據少,每天備份一次完整數據即可,可能沒必要做增量備份) 作者對shell腳本不太熟悉,所以很多地方寫的很笨 :) 開啟 bin log 在mysql 4.1版本中,默認只有錯誤日志,沒有其他日志.可以通過修改配置打開bin log.方法很多,其中一個是在/etc/my.cnf中的mysqld部分加入: [mysqld
前言: 如果你的數據庫文件較大,可能備份的時候需要占用很多服務器資源,所以站長要盡量選擇訪客最少的時間段執行自動備份命令,比如凌晨4-5點左右。而且要注意給備份留下足夠的時間然后執行存儲命令。 第一步: 首先要支持crontab,如果不支持的話,請參考我的博客: Linux VPS/服務器上用Crontab來實現VPS自動化 http://blog.csdn.net/phpfenghuo/arti
創建用戶 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 說明: Username所創建的用戶名 host 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%.
MySQL是一個小型關系型數據庫管理系統,開發者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。
SQL分類: DDL—數據定義語言(CREATE,ALTER,DROP,DECLARE) DML—數據操縱語言(SELECT,DELETE,UPDATE,INSERT) DCL—數據控制語言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,簡要介紹基礎語句: 1、說明:創建數據庫 CREATE DATABASE database-name 2、說明:刪除數據庫 drop data
高可用有什么好處?(1)業務持續性(2)良好的用戶體驗(3)工作樂趣和身心輕松(4)可能與收益有關(5)其他。
DBA或開發人員,有時會誤刪或者誤更新數據,如果是線上環境并且影響較大,就需要能快速回滾。傳統恢復方法是利用備份重搭實例,再應用去除錯誤sql后的binlog來恢復數據。此法費時費力,甚至需要停機維護,并不適合快速回滾。也有團隊利用LVM快照來縮短恢復時間,但快照的缺點是會影響mysql的性能。
如果不確定 MySQL 內存使用情況,可以利用 MySQLReport 這個工具收集一下 MySQL 實例的信息報告,不同時間段多收集幾次作為對比。然后相應的調整 key_buffer/query_cache_size 等參數的大小, 一次調整一個參數,重啟動 MySQL ,繼續抽取報告,分析數據,然后調整下一個參數。既然需要編輯配置文件 my.cnf , 建議順手加大一點 max_connections 這個參數(為什么?)。
至今仍在開發的最古老 Linux 發行版 Slackware 宣布用 MariaDB 取代 MySQL 數據庫。MariaDB 是社區維護的 MySQL 分支,由 MySQL 創始人 Michael Widenius 領導開發。
寫在前面:索引對查詢的速度有著至關重要的影響,理解索引也是進行數據庫性能調優的起點。考慮如下情況,假設數據庫中一個表有10^6條記 錄,DBMS的頁面大小為4K,并存儲100條記錄。如果沒有索引,查詢將對整個表進行掃描,最壞的情況下,如果所有數據頁都不在內存,需要讀取10^4 個頁面,如果這10^4個頁面在磁盤上隨機分布,需要進行10^4次I/O,假設磁盤每次I/O時間為10ms(忽略數據傳輸時間),則總共需要 100s(但實際上要好很多很多)。
今天寫了個SQL查數據庫,需要根據id分組,然后將同一分組中某幾列的值都平鋪開來,網絡上查了下,MySQL中的 GROUP_CONCAT 函數,還是很好用的
MySQL常用函數
1.對查詢進行優化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。
網站就是要和數據庫進行交互,否則什么都不用做了...今天我們來看一個叫MySQLdb的庫,這個用來和MySQL數據庫進行交互.
近期在windows下使用MySQL,簡單的記錄下開發中遇到的一些問題
在閱讀這篇文章之前,讀者需要注意的是,為了維護隱私,用 MySQL 服務器的 D 段代替完整 IP,并且略去一些私密信息。 A 項目,因 I/O 出現規律性地劇烈波動。每 15 分鐘落地一次,innodbBuffPoolPagesFlushed 參數監控波峰和波谷交替出現,磁盤 I/O 同樣如此,并且 until 達到 100%。經過排查,排除了觸發器、事件、存儲過程、前端程序定時器、系統 crontab 的可能性。最終定位為 InnoDB 日志切換,但是否完全是日志造成的影響,還有待進一步跟蹤和分析。
寫在前面:索引對查詢的速度有著至關重要的影響,理解索引也是進行數據庫性能調優的起點。考慮如下情況,假設數據庫中一個表有10^6條記錄,DBMS的頁面大小為4K,并存儲100條記錄。如果沒有索引,查詢將對整個表進行掃描,最壞的情況下,如果所有數據頁都不在內存,需要讀取10^4個頁面,如果這 10^4個頁面在磁盤上隨機分布,需要進行10^4次I/O,假設磁盤每次I/O時間為10ms(忽略數據傳輸時間),則總共需要100s(但實際上要好很多很多)。
MySQL 常見函數
MySQL的時間函數
MySQL的語句一共分為11步,如下圖所標注的那樣,最先執行的總是 FROM操作,最后執行的是LIMIT操作。其中每一個操作都會產生一張虛擬的表,這個虛擬的表作為一個處理的輸入,只是這些虛擬的表對用戶來說是透明 的,但是只有最后一個虛擬的表才會被作為結果返回。如果沒有在語句中指定某一個子句,那么將會跳過相應的步驟。