Time of Update: 2018-12-08
Sphinx的searchd精靈從版本0.9.9-rc2開始支援MySQL二進位網路通訊協定,並且能夠通過標準的MySQL API訪問。例如,“mysql”命令列程式可以很好地工作。以下是用MySQL用戶端對Sphinx進行查詢的例子:複製代碼 代碼如下:$ mysql -P 9306Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 0.9.9
Time of Update: 2018-12-08
建立使用者資訊表:複製代碼 代碼如下:CREATE TABLE tbl_auth_user (user_id VARCHAR(10) NOT NULL,user_password CHAR(32) NOT NULL,PRIMARY KEY (user_id));INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('theadmin', PASSWORD('chumbawamba'));INSERT INTO
Time of Update: 2018-12-08
修改MySQL密碼:複製代碼 代碼如下:mysqladmin -u root -p password 123456mysqladmin -u使用者名稱 -p舊密碼 password 新密碼忘記MySQL密碼:複製代碼 代碼如下:chown -R mysql:mysql /var/lib/mysql /etc/init.d/mysql stop 或 kill -9 殺死進程。[root@corshetlpro01 bin]# cd
Time of Update: 2018-12-08
我們知道,mysqli是PHP 5中新提供的MySQL介面,此介面使用了物件導向的思想。使用mysqli介面的代碼可讀性更強,其執行效率比mysql介面高。而且mysqli提供了一個能夠一次執行多個SQL語句的multi_query()函數。但是,mysqli介面只支援PHP 5和MySQL
Time of Update: 2018-12-08
1、本地備份編寫自動備份指令碼:vim /var/lib/mysql/autobak內容如下:複製代碼 代碼如下:cd /data/home/mysqlbakrq=` date +%Y%m%d `/usr/local/mysql/bin/mysqldump sqldb --flush-logs -uroot -p123456 --opt > 777city_$rq.sql儲存退出。chmod -777 /var/lib/mysql/autobakcrontab -e00 00 * * *
Time of Update: 2018-12-08
每日淩晨2:00進行dump對相應資料庫進行備份,同時對相應資料庫進行binlog記錄檔更新。如果探索資料庫錯誤,只需要先恢複上一個dump的備份,然後再還原當天的binlog記錄檔。舉例:每日12:00執行:複製代碼 代碼如下:mysqldump database --flush-logs -uroot -p --opt > database_20020601.sql按照日期規則執行。如果想恢複到今早10點的資料庫,那麼:1、完整備份整個當前資料庫複製代碼 代碼如下:cd
Time of Update: 2018-12-08
註:mysql中的ROW_COUNT()可以返回前一個SQL進行UPDATE,DELETE,INSERT操作所影響的行數。MySQL上的測試(資料庫版本為:5.1.22):1.建立資料庫表:複製代碼 代碼如下:create table t( id int, name varchar(50), address varchar(100), primary key(id,name) )engine =InnoDB; 2.插入測試資料:複製代碼 代碼如下:insert into t (id,
Time of Update: 2018-12-08
經常碰到的一個問題是limit的offset太高,如:limit 100000,20,這樣系統會查詢100020條,然後把前面的100000條都扔掉,這是開銷很大的操作,導致查詢很慢。假設所有分頁的頁面訪問頻率一樣,這樣的查詢平均掃描表的一半資料。最佳化的方法,要麼限制訪問後面的頁數,要麼提升高位移的查詢效率。 一個簡單的最佳化辦法是使用覆蓋查詢(covering index)查詢,然後再跟全行的做join操作。如:複製代碼 代碼如下:SQL>select * from user_
Time of Update: 2018-12-08
MySQL的預設編碼是Latin1,不支援中文,要支援中文需要把資料庫的預設編碼修改為gbk或者utf8。 1、需要以root使用者身份登陸才可以查看資料庫編碼方式(以root使用者身份登陸的命令為:>mysql -u root –p,之後兩次輸入root使用者的密碼),查看資料庫的編碼方式命令為: >show variables like 'character%'; +--------------------------+----------------------------+
Time of Update: 2018-12-08
你完成了你的品牌新的應用程式,一切工作就像一個魅力。使用者來使用你的網路。每個人是幸福的。 然後,突然間,一個大爆發的使用者殺死你的MySQL伺服器,您的網站已關閉。出了什麼問題?你怎麼能阻止它嗎? 以下是MySQL效能最佳化的一些技巧,將協助你,協助你的資料庫。 大處著眼 在早期的發展階段,你應該知道預期到您的應用程式的使用者數。如果你希望很多使用者來說,你應該想想大,從一開始,計划進行複製,可擴充性和效能。
Time of Update: 2018-12-08
如果是使用中的資料庫突然出現些類問題 在Linux下面執行下面命令就可以了,當然你要找到你的mysql目錄 linux中 複製代碼 代碼如下:/usr/local/mysql/bin/mysqladmin -u root -p flush-tables windows中 可以在cmd中執行lush-tables 也可以在phpmyadmin 直利用修複表進行修改 如果是匯入還原資料
Time of Update: 2018-12-08
今早在對一張table 建立primay key過程中發生了斷電,當電腦再次啟動時候,發現mysql 服務無法啟動,使用 net start 提示 1067錯誤,折騰了2個小時無法解決,後來只能通過手工刪除資料檔案,記錄檔,再啟動服務,然後匯入資料來完成。啟動服務發生1067錯誤:1.刪除datadir 下的使用者資料庫檔案 和 記錄檔
Time of Update: 2018-12-08
一、背景以前使用SQL Server進行表分區的時候就碰到很多關於唯一索引的問題:Step8:SQL Server 當表分區遇上唯一約束,沒想到在MySQL的分區中一樣會遇到這樣的問題:MySQL表分區實戰。今天我們來瞭解MySQL唯一索引的一些知識:包括如何建立,如何批量插入,還有一些技巧上SQL;這些問題的根源在什麼地方?有什麼共同點?MySQL中也有分區對齊的概念?唯一索引是在很多系統中都會出現的要求,有什麼辦法可以避免?它對效能的影響有多大?二、過程(一)
Time of Update: 2018-12-08
完整性條件約束是對欄位進行限制,從而符合該欄位達到我們期望的效果比如欄位含有預設值,不能是NULL等 直觀點說:如果插入的資料不滿足限制要求,資料庫管理系統就拒絕執行操作 設定表的主鍵 主鍵能夠標識表中每條資訊的唯一性,如同社會安全號碼碼和人的關係 人可以同名,但是社會安全號碼碼卻是唯一的, 建立主鍵的目的在於快速尋找到表中的某一條資訊 單欄位主鍵 複製代碼 代碼如下:mysql> create table student( -> id int primary key, ->
Time of Update: 2018-12-08
查詢當前這周的資料 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now()); 查詢上周的資料 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1; 查詢當前月份的資料
Time of Update: 2018-12-08
MYSQL日期比較 TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 我們的date_col必須是日期時間格式,而不能是時間戳記, mysql> SELECT FROM_UNIXTIME(875996580); -> '1997-10-04 22:23:00' day(FROM_UNIXTIME(1277709862))這個返回的是某個時間戳記到現在經過的天數 擷取 日:day(FROM_UNIXTIME(add_time)) 擷取
Time of Update: 2018-12-08
之前還以為從上至下統一用上UTF-8就高枕無憂了,哪知道今天在抓取新浪微博的資料的時候還是遇到字元的異常。 從新浪微博抓到的資料在入庫的時候拋出異常: Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...' 發現導致異常的字元不是繁體而是某種佛經文字。。。額滴神。。。但是按道理UTF-8應該能支援才對啊,他不是萬能的嗎?
Time of Update: 2018-12-08
今天安裝openstack folsom版本,安裝完mysql,為各個服務增加對應的資料庫和使用者後,發現 無法使用新增的使用者登陸mysql。我增加使用者的方法如下: mysql -uroot -p$MYSQL_PASS <<EOF CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$MYSQL_PASS'; CREATE DATABASE glance; GRANT
Time of Update: 2018-12-08
簡介 Xtrabackup是由percona提供的mysqlDatabase Backup工具,據官方介紹,這也是世界上惟一一款開源的能夠對innodb和xtradb資料庫進行熱備的工具。特點: (1)備份過程快速、可靠; (2)備份過程不會打斷正在執行的事務; (3)能夠基於壓縮等功能節約磁碟空間和流量; (4)自動實現備份檢驗; (5)還原速度快; Xtrabackup中包含兩個工具: * xtrabackup - 用於熱備份innodb, xtradb表的工具,不能備份其他表。 *
Time of Update: 2018-12-08
最近出現一個很奇怪的MySQL問題,使用不同select語句查詢全部資料集居然得到不同的記錄數。select * 得到4條記錄,select 欄位得到的是3條記錄。具體問題可以看下面的查詢結果: [sql] mysql> select * from table_myisam; +----------+-------+-----------+------+ | datetime | uid | content | type | +----------+-------+----