Time of Update: 2017-01-13
一般情況下mysql的啟動錯誤還是很容易排查的,但是今天我們就來說一下不一般的情況。拿到一台伺服器,安裝完mysql後進行啟動,啟動錯誤如下。 有同學會說,哥們兒你是不是buffer pool設定太大了,設定了96G記憶體。這明顯提示無法分配記憶體嘛。如果真是這樣也就不在這裡進行分享了,哈哈。我的伺服器記憶體是128G。如下圖: 伺服器記憶體使用量情況: 那麼問題來了,既然還剩如此多的記憶體,為什麼提示無法分配記憶體? 1.
Time of Update: 2017-01-13
在工作中用到也比較多,在load data大檔案時,如果檔案太大會導致主從延時等問題,必須得將檔案拆分成許多小檔案,使用這個工具就不需要人工進行切割檔案。此工具只能工作在類unix作業系統。具體的可以查看: http://www.mysqlperformanceblog.com/2008/07/03/how-to-load-large-files-safely-into-innodb-with-load-data-infile/在一個session中執行如下命令:perl
Time of Update: 2017-01-13
在mysql中運行SHOW PROCESSLIST;,現資料庫中有很多這樣的進程:其實就是MySQL中Sleep串連過多,那麼造成sleep的原因,有三個,下面是mysql手冊給出的解釋:1.用戶端程式在退出之前沒有調用mysql_close().[寫程式的疏忽,或者資料庫的db類庫沒有自動關閉每次的串連。。。]2.用戶端sleep的時間在wait_timeout或interactive_timeout規定的秒內沒有發出任何請求到伺服器. [類似常連,類似於不完整的tcp
Time of Update: 2017-01-13
python操作Mysql,很方便,使用的MySQLdb的庫,基本的操作如下:查詢: 1 try: 2 conn = MySQLdb.connect(host=self.ip, user=self.username,passwd=self.password, db=self.dbname, port=self.port) 3 cur =
Time of Update: 2017-01-13
如果要保證資料的完整性, 最好的做法就是停服, 不在向資料庫中寫入資料了, 全備然後在新的DB上恢複。 但是這樣的話大量的資料可能會消耗幾個小時的時間來備份和恢複資料, 停止幾個小時的時間會讓人覺得崩潰! 所以比較好的方案是提前做一個全備, 並且新開始一個二進位日誌, 然後在遷移的時候把二進位日誌轉移過去, 在全備的基礎上做增量。 遷移第一步: 先將DB做全備,
Time of Update: 2017-01-13
[client]port = 3306socket = /data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user = mysqlport = 3306socket = /data/3306/mysql.sockbasedir = /usr/local/mysqldatadir = /data/3306/
Time of Update: 2017-01-13
首先需要在同一個區域網路內的兩台機器(當然也可以用一台機器虛擬兩台機器出來),都安裝上mysql服務。主機A: 192.168.1.100從機B: 192.168.1.101可以有多台從機。1、先登入主機 A,執行如下命令賦予從機許可權,如果有多台叢機,就執行多次:mysql>GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.101' IDENTIFIED BY '123456';2、
Time of Update: 2017-01-13
在實際的開發過程中,可能會需要在一台伺服器上部署多個MYSQL執行個體,那建議使用MYSQL官方的解決方案 mysqld_multi 1.修改my.cnf 如一個定義兩個執行個體的參考配置: 代碼如下複製代碼 [mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = your_userpassword
Time of Update: 2017-01-13
索引,可以說是資料庫相關最佳化尤其是在Query 最佳化中最常用的最佳化手段之一了,雖然如此,但索引也並非是解決query最佳化的聖經,不能只要發現Query 運行不夠快就將where子句中的條件全部放在索引中。什麼事都是適而可止,過猶不及,一起來看過究竟吧。索引的利處索引能夠提高資料檢索的效率,降低資料庫的IO 成本和排序成本。在資料庫中個表的某個欄位建立索引,所帶來的最大益處就是將該欄位作為檢索條件的時候
Time of Update: 2017-01-13
SQL語句最佳化技巧資料庫的備份可以防止伺服器宕機、磁碟損壞、RAID卡損壞等意外情況下產生的資料丟失。MySQL的備份工具:mysqldumpibbackupreplicationLVM快照或者第三方工具xtrabacup等 資料庫的備份方法根據備份方法劃分:1:熱備2:冷備根據備份檔案劃分:1:邏輯備份:mysqldump和SELECT * INTO
Time of Update: 2017-01-13
今天幫同事處理一個棘手的事情,問題是這樣的:無論在客戶機用哪個版本的mysql用戶端串連伺服器,發現只要伺服器端設定了character-set-server = utf8之後,character_set_client、 character_set_connection、character_set_results就始終都是和伺服器端保持一致了,即便在mysql用戶端加上選項--default-character-set=utf8也不行,除非串連進去後,再手工執行命令set names
Time of Update: 2017-01-13
mysql有以下幾種日誌: 錯誤記錄檔: log-err 查詢日誌: log 慢查詢日誌: log-slow-queries 更新日誌: log-update 二進位日誌: log-bin [client] port = 3306socket = /home/mysql/mysql/tmp/mysql.sock [mysqld] !include /
Time of Update: 2017-01-13
5。版面模組設計 所謂分類,更多的是為telnet服務端考慮的,在cq66模式下,使用者可以按 照自己的意願進行分類,反正最後都是直接以版為基本單位訪問的。 對於版面文章的訪問,存放的時候以整篇文章為參數,文章的分塊由本層 完成,如果上層以塊為單位傳送,則在上層全部傳完,組合後,再傳參到本層 分解;在讀取 的時候,本層則以塊為單位訪問,如果上層要以全文為單位訪問 ,則在上層做合并 工作,本層不管。 至於要不要獨立出索引,不影響上層的操作,主要和下層的資料庫構造有 關,
Time of Update: 2017-01-13
1。系統架構: 採用模組化思想,分為3層: a。資料存放區層:使用mysql來存放bbs的所有資料,包括使用者資訊, 文章資料,使用者信件,使用者訊息,系統資料(?),關鍵問題: 資料庫的規劃,是否用檔案來輔助。 b。系統功能層:完成bbs的準系統,由多個並列模組組成,向下 調用mysql的函數訪問資料庫,向上,接受處理請求,將處理的 結果返回上層,根據請求類型,返回成敗結果和其他資料。而且 模組高度靈活,可以方便的修改增加。包括: **
Time of Update: 2017-01-13
對於lnmp的安裝,每個營運人員可能都進行過上百次。這裡提供一個我認為最簡單高效的安裝方案。1.升級yum到最新版本: 代碼如下複製代碼 yum -y update 2.用yum對lnmp伺服器依賴的組件進行安裝: 代碼如下複製代碼 LANG=Cyum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel
Time of Update: 2017-01-13
資料庫語句: Ddl(資料定義語言 (Data Definition Language)) alter create drop Dml(資料操作語言) inset delete update
Time of Update: 2017-01-13
單精確度浮點數用4位元組(32bit)表示浮點數採用IEEE754標準的電腦浮點數,在內部是用二進位表示的如:7.22用32位二進位是表示不下的。所以就不精確了。mysql中float資料類型的問題總結 對於單精確度浮點數Float:
Time of Update: 2017-01-13
可是資料量到了10萬,百萬至千萬,他的效能還能那麼高嗎?一點小小的失誤,可能造成整個系統的改寫,甚至更本系統無法正常運行!好了,不那麼多廢話了。用事實說話,看例子:資料表 collect ( id, title ,info ,vtype) 就這4個欄位,其中 title 用定長,info 用text, id 是逐漸,vtype是tinyint,vtype是索引。這是一個基本的新聞系統的簡單模型。現在往裡面填充資料,填充10萬篇新聞。最後collect 為 10萬條記錄,資料庫表佔用硬碟1.6G。
Time of Update: 2017-01-13
explain的文法如下:explain [extended] select … from … where …如果使用了extended,那麼在執行完explain語句後,可以使用show warnings語句查詢相應的最佳化資訊。比如我們執行 select uid from user where uname=’scofield’ order by uid
Time of Update: 2017-01-13
mysql教程 快速資料庫教程備份與自動備份bat處理方法,下面第一個執行個體是bat批處理方法,後面是常用的sql資料各種備份的命令。@echo offecho.echo MySQLDatabase Backupecho *****************************echo.echo 今天是 %date%echo 時間是 %time%echo.echo *****************************set &