① STATEMENT模式(SBR)每一條會修改資料的sql語句會記錄到binlog中。優點是並不需要記錄每一條sql語句和每一行的資料變化,減少了binlog日誌量,節約IO,提高效能。缺點是在某些情況下會導致master-slave中的資料不一致(如sleep()函數, last_insert_id(),以及user-defined functions(udf)等會出現問題)②
今天,使用命令匯出資料庫,以便在新的VPS上恢複,出現了一下情況:報錯資訊:mysqldump: Got error: 23: Out of resources when opening file ‘./zrblog_dfhghdt/pre_ucenter_settings.MYD’ (Errcode: 24) when using LOCK TABLES首先用ulimit -n命令查看下開啟檔案數限制:root@zr [~]# ulimit
在資料表中記錄了使用者驗證時使用的書目,現在想取出所有書目,用DISTINCT和group by都取到了我想要的結果,但我發現返回結果排列不同,distinct會按資料存放順序一條條顯示,而group by會做個排序(一般是ASC)。DISTINCT 實際上和 GROUP BY 操作的實現非常相似,只不過是在 GROUP BY 之後的每組中只取出一條記錄而已。所以,DISTINCT 的實現和 GROUP BY 的實現也基本差不多,沒有太大的區別,同樣可以通過鬆散索引掃描或者是緊湊索引掃描來實現。
建立資料庫 代碼如下複製代碼 CREATE TABLE IF NOT EXISTS `tet` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `url` varchar(255) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;轉存表中的資料 `tet`INSERT INTO `tet` (`id`, `name`, `url`)
在做主從複製下,插入資料的時候出現下面的錯誤提示: 代碼如下複製代碼 mysql> insert into test values (”,’lzh’);ERROR 1598 (HY000): Binary logging not possible. Message: Transaction level ‘READ-COMMITTED’ in InnoDB is not safe for binlog mode
mysql進行排序的時候如果需要按照原始的順序排序,就可以使用order by find_in_set()方法,具體用法如下: 代碼如下複製代碼 select * from ecs_goods where goods_id in ($idList) order by FIND_IN_SET(goods_id,'$idList')
查看mysql最大串連資料 代碼如下複製代碼 show variables like '%max_connections%' 修改方法:進入mysql終端, 代碼如下複製代碼 mysql > set GLOBAL max_connections=1000;mysq > show variables like '%max_connections%'; 當然,你也可以直接修改mysql設定檔。進入MySQL安裝目錄 開啟MySQL設定檔 my.