Time of Update: 2017-01-19
一般來說,造成MySQL出現中文亂碼的因素主要有下列幾點:1.server本身字元集設定的問題,例如還停留在latin12.table的語系設定問題(包含character與collation)3.用戶端程式(例如php)的連線語系設定問題對此,強烈建議使用utf8編碼!因為utf8可以相容世界上所有字元!一、避免建立資料庫及表出現中文亂碼和查看編碼方法1、建立資料庫的時候:CREATE DATABASE `test`CHARACTER SET 'utf8'COLLATE
Time of Update: 2017-01-19
ERROR 1665 (HY000)【環境描述】msyql5.6.14【報錯資訊】執行SQL語句的時候報錯:ERROR 1665 (HY000): Cannot executestatement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTand at least one table uses a storage engine limited to row-based logging.InnoDB is
Time of Update: 2017-01-19
有過MySQL營運的人應該都清楚,線上的MySQL一般都採用源碼編譯,因為這樣才可以根據企業的各自需要選擇要編譯的功能,雖然MySQL的源碼編譯挺簡單的,但是試想一下,如果你有幾百台伺服器同時要安裝MySQL,難道你還一台台去手動編譯、編寫設定檔嗎?這顯然太低效了,本文討論MySQL的自動化安裝部署。1、製作符合自己需求的RPM包我們要根據MySQL的源碼編譯符合企業需求的RPM包,源碼擷取命令如下:wget
Time of Update: 2017-01-19
建立mysql使用者 [root@xuhost opt]# useradd -g mysql mysql3307 -s /bin/nologin -d /usr/local/mysql3307 建立資料目錄 [root@xuhost opt]# mkdir /mysqldata/dirdata/mysql3307 [root@xuhost opt]# chown mysql.mysql -R /mysqldata/dirdata/mysql3307安裝 cmake[root@xuhost
Time of Update: 2017-01-19
21分鐘 MySQL 入門教程目錄 一、MySQL的相關概念介紹 二、Windows下MySQL的配置 配置步驟 MySQL服務的啟動、停止與卸載 三、MySQL指令碼的基本組成 四、MySQL中的資料類型 五、使用MySQL資料庫 登入到MySQL 建立一個資料庫 選擇所要操作的資料庫 建立資料庫表 六、操作MySQL資料庫 向表中插入資料 查詢表中的資料 更新表中的資料 刪除表中的資料
Time of Update: 2017-01-19
建立視圖 Sql代碼 CREATE VIEW view_name AS SELECT t1.xxx, t2.xxx, t3.xxx FROM (table1 t1 INNER JOIN table2 t2 ON t1.fid = t2.fid) INNER JOIN table3 t3 ON t1.mid = t3.mid; 這裡使用了3表關聯,對於多表關聯的 INNER JOIN 寫法有一個技巧1. 先寫最簡單的2表關聯 INNER JOIN2. 然後使用 () 從
Time of Update: 2017-01-19
在網上找了篇MySQL的技術文章,感覺不錯,把它翻譯過來共用下。 原文作者:Mike Peters 我整理了7條修複MySQL資料庫的方法,當簡單的重啟對資料庫不起作用,或者有表崩潰時。 簡單的MySQL重啟: /usr/local/mysql/bin/mysqladmin -uUSERNAME -pPASSWORD shutdown /usr/local/mysql/bin/mysqld_safe
Time of Update: 2017-01-19
一:MySQL中MyISAM表損壞原因總結:1、 伺服器突然斷電導致資料檔案損壞;強制關機,沒有先關閉mysql 服務;mysqld 進程在寫表時被殺掉。2、 磁碟損壞。3、 伺服器死機。4、 mysql 本身的bug 。二:MySQL中MyISAM表損壞的癥狀總結:1 、查詢資料時報出錯誤:Incorrect key file for table: '...'. Try to repair it2 、查詢不能在表中找到行或返回不完全的資料。3 、Error: Table '...' is
Time of Update: 2017-01-19
定期分析表ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]本語句用於分析和儲存表的關鍵字分布。在分析期間,使用一個讀取鎖定對錶進行鎖定。這對於MyISAM, BDB和InnoDB表有作用。對於MyISAM表,本語句與使用myisamchk -a相當。MySQL使用已儲存的關鍵字分布來決定,當您對除常數以外的對象執行聯合時,表按什麼順序進行聯合。mysql> analyze table a;+--------+-
Time of Update: 2017-01-19
客服那邊需要我對一些酒店進行中文拼音排序,以前沒有接觸過,在php群裡問了一些大牛。。得到了2種答案,都可以。哈哈·~以下既是msyql 例子,表結構是utf-8的方法一、複製代碼 代碼如下:SELECT `hotel_name`FROM `hotel_base`ORDER BY convert( `hotel_name`USING gbk )COLLATE gbk_chinese_ci方法二、複製代碼 代碼如下:SELECT `hotel_id` , `hotel_name` , ELT(
Time of Update: 2017-01-19
我們知道當插入多條資料的時候insert支援多條語句:複製代碼 代碼如下:INSERT INTO t_member (id, name, email) VALUES (1, 'nick', 'nick@126.com'), (4, 'angel','angel@163.com'), (7,
Time of Update: 2017-01-19
有相當一部分剛接觸到 MySQL 的朋友都遇到這樣一個相同的問題,就是關於毫秒的儲存與顯示。由於MySQL資料類型中只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR這幾種時間類型,而且DATETIME 以及 TIMESTAMP 的最小單位是秒,沒有儲存毫秒層級的函數。 不過MySQL卻能識別時間中的毫秒部分。而且我們有多種方式可以獲得毫秒的部分,比如函數:microsecond 等。我這裡舉一個簡單的例子,來儲存秒之前和之後的部分。對於把時間欄位作為主鍵的應用,
Time of Update: 2017-01-19
在這一章節裡, 我們來瞭解下 Mysql 中的分區技術 (RANGE, LIST, HASH) Mysql 的分區技術與水平分表有點類似, 但是它是在邏輯層進行的水平分表, 對於應用而言它還是一張表, 換句話說: 分區不是實際真正的對一張表進行拆分,分區之後表還是一個表,它是把隱藏檔進行拆分。在 Mysql 5.1(後) 有了幾種分區類型: RANGE分區: 基於屬於一個給定連續區間的列值, 把多行分配給分區LIST分區: 類似於按 RANGE 分區, 區別在於 LIST
Time of Update: 2017-01-19
有不少開發人員在操作MySQL資料庫的時候都遇到過誤操作的情況,例如更新資料庫的時候update語句忘記加上where條件,就會造成極為悲劇的結果。本文就針對防止MySQL資料庫誤操作的方法做出如下詳解:1、mysql協助說明# mysql --help|grep dummy -U, --i-am-a-dummy Synonym for option --safe-updates, -U. i-am-a-dummy
Time of Update: 2017-01-19
前一陣子工作項目上的事情忙的焦頭爛額,最近要進行部門調整將要去做新的項目。又要學習很多新的知識了,還是很興奮激動的。今天下班回來查看了一下VPS狀態,發現VPS的空間只剩下了1G多!第一反應是被入侵了,但是看了一下log並沒有發現什麼異常的登入,加上平時基本都是用私密金鑰免密碼登入的VPS,別入侵的可能也不是很大。那我就很疑惑了,因為系統檔案佔用應該也就3G多,我平時並沒有在VPS放過什麼大檔案,不應該一下子少那麼多空間。於是開始一番du尋找終於找到了罪魁禍首!原來是mysql的log檔案導致的
Time of Update: 2017-01-19
網站事件記錄出現了這個錯誤:事件類型: 錯誤事件來源: MySQL事件種類: 無事件 ID: 100日期: 2012-8-14事件: 8:07:59使用者: N/A電腦: abcserver描述:複製代碼 代碼如下:Cannot find or open table phpwind/pw_zhuanti from the internal data dictionary of InnoDB though the .frm file for the table
Time of Update: 2017-01-19
1)啟動:sudo /etc/init.d/mysql start2)停止:sudo /etc/init.d/mysql stop3)重啟:sudo /etc/init.d/mysql restart4)查看日誌:cat /var/log/mysql.errcat /var/log/mysql/error.log5)不支援中文修改 /etc/mysql/my.cnf在 [client] 下面增加:default-character-set=utf8 或 character_set_server=
Time of Update: 2017-01-19
在Apache, PHP, MySQL的體系架構中,MySQL對於效能的影響最大,也是關鍵的核心部分。對於Discuz!論壇程式也是如此,MySQL的設定是否合理最佳化,直接影響到論壇的速度和承載量!同時,MySQL也是最佳化難度最大的一個部分,不但需要理解一些MySQL專業知識,同時還需要長時間的觀察統計並且根據經驗進行判斷,然後設定合理的參數。
Time of Update: 2017-01-19
相信大家使用MySQL都有過重裝的經曆,要是重裝MySQL基本都是在最後一步通不過,除非重裝作業系統,究其原因就是系統裡的註冊表沒有刪除乾淨。下面是我總結的一點經驗,都是血的教訓:MYSQL出現問題,重裝是非常鬱悶的事情,很是崩潰,搞一次需要記錄一次安裝的時候,有時候會出現could not start the service mysql error:0 提示錯誤。解決步驟:1、開始-MySQL-MySQL Server 5.1-MySQL Server Instance Config
Time of Update: 2017-01-19
在伺服器上安裝好mysql之後,一般都需要做下面幾件事情:1. 啟動mysql server2. 設定root使用者和添加一些訪問使用者3. 設定使用者權限4. 配置非本地串連訪問5. 備份資料或者遷移資料6. 一些注意事項(不斷更新)一、啟動mysql server通常情況下,我們使用的啟動命令是:複製代碼 代碼如下:service mysqld start常見的一個問題就是拋:Timeout error occurred trying to start MySQL