Time of Update: 2017-01-19
配置好virtualenv
Time of Update: 2017-01-19
本文執行個體講述了Python訪問MySQL封裝的常用類。分享給大家供大家參考。具體如下:python訪問mysql比較簡單,下面整理的就是一個很簡單的Python訪問MySQL資料庫類。自己平時也就用到兩個mysql函數:查詢和更新,下面是自己常用的函數的封裝,大家拷貝過去直接可以使用。檔案名稱:DBUtil.py複製代碼 代碼如下:# -*- encoding:utf8 -*- ''' @author: crazyant.net @version: 2013-10-22
Time of Update: 2017-01-19
問題:python2.7 查詢或者插入中文資料在mysql中的時候出現中文亂碼---可能情況:1.mysql資料庫各項沒有設定編碼,預設為'latin'2.使用MySQL.connect的時候沒有設定預設編碼3.沒有設定python的編碼,python2.7預設為'ascii'4.沒有解碼---解決方案:1.設定mysql的編碼ubuntu執行下列語句:** sudo vim /etc/mysql/my.cnf **然後在裡面插入語句:[client]default-character-set=
Time of Update: 2017-01-19
mysql 昨天 一周前 一月前 一年前的資料 這裡主要用到了DATE_SUB,參考如下複製代碼 代碼如下:SELECT * FROM yh_contentwhere inputtime>DATE_SUB(CURDATE(), INTERVAL 1 DAY)where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK)where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 MONTH)where
Time of Update: 2017-01-19
建立表:複製代碼 代碼如下:create table if not exists t( id int, addTime datetime default '0000-00-00 00:00:00′)添加兩條初始資料:insert t values(1, '2012-07-12 21:00:00′);insert t values(2, '2012-07-22 21:00:00′);一、當天或當日插入的資料:1、傳統對比判斷:SELECT *
Time of Update: 2017-01-19
曾經以為在my.cnf寫入max_connections = 2000就可以改變mysql的最大並發量,今天查到一個命令,探索服務器的mysql最大串連數為151.控制台,串連上mysql複製代碼 代碼如下:show variables;這條命令可以看到所有基礎配置如果單獨看max_connections可以這樣複製代碼 代碼如下:show variables like 'max%';+—————————-+————+| Variable_name | Value |+—————————-+——
Time of Update: 2017-01-19
新裝的mysql裡面有兩個資料庫:information_schema 和 mysql 。他們是幹麼用的?可以刪除嗎?當然是不可以刪除的。1.information schema
Time of Update: 2017-01-19
MySQL的預設編碼是Latin1,不支援中文,如何修改MySQL的預設編碼呢,下面以gbk為例來說明(這裡只介紹Windows環境下) 1、中止MySQL服務(開啟控制台-->管理工具-->服務)找到MySQL,右鍵選擇停止。 2、開啟MySQL安裝目錄,找到my.ini檔案。 3、開啟my.ini檔案 修改如圖兩個地方 4、修改完成後,重新啟動MySQL服務。
Time of Update: 2017-01-19
今天在mac上搭建好了php的環境,把先前在window、linux下運行良好的程式放在mac上,居然出現訪問不了資料庫,資料庫連接的host用的是localhost,可以確認資料庫配置是正確的,因為在java中使用localhost訪問正常,另外通過命令列工具也能正常訪問。當把localhost換成127.0.0.1或者原生IP時,居然正常了。以前一直認為localhost與127.0.0.1是一回事,現在事實證明它們其中還是有區別的。在網上搜尋了一下它們的區別,有人已經說的很明白了,具體可以
Time of Update: 2017-01-19
一、確定版本查看MySQL版本複製代碼 代碼如下:mysql -V或者可以登入MySQL使用select version();或status;命令查看二、開始工作關閉MySQL複製代碼 代碼如下:service mysql stop如果上面的命令無法關閉MySQL,則使用kill -9命令強制殺掉進程;修改MySQL設定檔my.cnf(通常位於/etc/mysql/my.cnf)下加入如下欄位對於MySQL 5.5而言:複製代碼
Time of Update: 2017-01-19
1.在沒有設定預設值的情況下: 複製代碼 代碼如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id結果:設定顯示預設值:複製代碼 代碼如下:SELECT userinfo.id, user_name, role, adm_regionid,
Time of Update: 2017-01-19
查詢到效率低的 SQL 陳述式 後,可以通過 EXPLAIN 或者 DESC 命令擷取 MySQL 如何執行 SELECT 語句的資訊,包括在 SELECT 語句執行過程中表如何串連和串連的順序,比如我們想計算 2006 年所有公司的銷售額,需要關聯 sales 表和 company 表,並且對 profit 欄位做求和( sum )操作,相應 SQL 的執行計畫如下: mysql> explain select sum(profit) from sales a,company b
Time of Update: 2017-01-19
show [session|global] status 可以根據需要加上參數“ session ”或者“ global ”來顯示 session 級(當前串連)的統計結果和 global 級(自資料庫上次啟動至今)的統計結果。如果不寫,預設使用參數是“ session ”。 Com_xxx 表示每個 xxx 語句執行的次數,我們通常比較關心的是以下幾個統計參數 : •Com_select :執行 select
Time of Update: 2017-01-19
mysql鎖定單個表的方法 複製代碼 代碼如下:mysql>lock table userstat read; mysql>unlock tables; 頁級的典型代表引擎為BDB。 表級的典型代表引擎為MyISAM,MEMORY以及很久以前的ISAM。 行級的典型代表引擎為INNODB。 -我們實際應用中用的最多的就是行鎖。 行級鎖的優點如下: 1)、當很多串連分別進行不同的查詢時減小LOCK狀態。 2)、如果出現異常,可以減少資料的丟失。因為一次可以只復原一行或者幾行少量的資料。
Time of Update: 2017-01-19
環境: 192.168.100.210 192.168.100.104 192.168.100.208 192.168.100.106
Time of Update: 2017-01-19
如果MySQL伺服器啟用了二進位日誌,你可以使用mysqlbinlog工具來恢複從指定的時間點開始 (例如,從你最後一次備份)直到現在或另一個指定的時間點的資料。“mysqlbinlog:用於處理二進位記錄檔的工具 + 生產力”。 要想從二進位日誌恢複資料,你需要知道當前二進位記錄檔的路徑和檔案名稱。一般可以從選項檔案(即my.cnf or my.ini,取決於你的系統)中找到路徑。如果未包含在選項檔案中,當伺服器啟動時,可以在命令列中以選項的形式給出。啟用二進位日誌的選項為
Time of Update: 2017-01-19
大家都知道com_insert等com_xxx參數可以用來監控資料庫執行個體的訪問量,也就是我們常說的QPS。並且基於MySQL的複製原理,所有主庫執行的操作都會在從庫重放一遍保證資料一致,那麼主庫的com_insert和從庫的com_insert理論上應該是相等的。如下面顯示,第二列代表主庫,第三列代表從庫:複製代碼
Time of Update: 2017-01-19
問題背景: 假設MySQL資料庫有一張會員表vip_member(InnoDB表),結構如下: 當一個會員想續買會員(只能續買1個月、3個月或6個月)時,必須滿足以下業務要求: •如果end_at早於目前時間,則設定start_at為目前時間,end_at為目前時間加上續買的月數•如果end_at等於或晚於目前時間,則設定end_at=end_at+續買的月數•續買後active_status必須為1(即被啟用)問題分析:
Time of Update: 2017-01-19
今天向MySQL資料庫中的一張表添加含有中文的資料,可是老是出異常,檢查程式並沒有發現錯誤,無奈呀,後來重新檢查這張表發現表的編碼方式為latin1並且原想可以插入中文的欄位的編碼方式也是latin1,然後再次仔細觀察控制台輸出的異常,進一步確定是表和表中欄位編碼不當造成的,那就修改表和其中對應的欄位唄,網上找了一會兒,你別說還真有,執行完sql指令碼後果然可以存入中文了,儘管如此還是認為有必要總結一下,古人云:好記性不如爛筆頭嘛,呵呵呵。 修改表的編碼方式:ALTER TABLE `test`
Time of Update: 2017-01-19
情境:主庫DB:utf8字元集備庫DB:gbk字元集需求:校正主備資料是否一致,並且修複校正過程:設定主庫串連為utf8,設定備庫串連為gbk,分別進行查詢,將返回的的結果集按記錄逐欄位比較。顯示結果:原本相同的漢字字元,資料校正認為不一致。原因分析:對於主庫而已,由於建立串連的字元集為UTF8,則返回的漢字字元編碼為UTF8格式;對於備庫而言則是GBK格式,而程式中通過字串比較函數strcasecmp進行比較,顯然不同的字元集編碼,相同的字元有不同的二進位,因此結果肯定不會相等。進一步分析:那