mysql sail_MySQL使用小记
1.MySQL Server has gone away
問題出現(xiàn)場景:導入50M的數(shù)據(jù)庫SQL文件
問題分析:
情況1:SQL語句太長,超過了max_allowed_packet的大小;
情況2:連接超時,獲取數(shù)據(jù)連接時采用singleton,多次連接數(shù)據(jù)庫使用的是同一個鏈接,且某兩次操作數(shù)據(jù)庫的間隔超過wait_timeout
解決方案:?my.ini中修改
wait_timeout=2880000interactive_timeout= 2880000max_allowed_packet =10M(也可以設置自己需要的大小)
max_allowed_packet 參數(shù)的作用是,用來控制其通信緩沖區(qū)的最大長度。
2、Max_connections
set GLOBAL max_connections=2000;
3、MYSQL時間統(tǒng)計函數(shù)(30分鐘一統(tǒng)計)
CREATE FUNCTION `date_half_hour_format`(in_date TIMESTAMP) RETURNS TIMESTAMP
BEGIN
DECLARE out_date TIMESTAMP;
DECLARE s_date VARCHAR(255);
DECLARE s_minute VARCHAR(2);
DECLARE int_minute INT;
SET s_minute = SUBSTRING(in_date, 15, 2);
SET int_minute = CAST(s_minute AS SIGNED);
IF int_minute <= 29 THEN
SET int_minute = 0;
SET s_date = CONCAT(LEFT(in_date, 14),'0',int_minute);
ELSE
SET int_minute = 30;
SET s_date = CONCAT(LEFT(in_date, 14),int_minute);
END IF;
SET out_date = STR_TO_DATE(s_date,'%Y-%m-%d %H:%i');
RETURN out_date;
END
延伸實現(xiàn):10分鐘一統(tǒng)計
DROP FUNCTIONdate_half_hour_format;CREATE FUNCTION `date_half_hour_format`(in_date TIMESTAMP) RETURNS TIMESTAMP
BEGIN
DECLARE out_date TIMESTAMP;DECLARE s_date VARCHAR(255);DECLARE s_minute VARCHAR(2);DECLARE int_minute INT;SET s_minute = SUBSTRING(in_date, 15, 2);SET int_minute = CAST(s_minute ASSIGNED);IF int_minute <= 9 THEN
SET int_minute = 0;SET s_date = CONCAT(LEFT(in_date, 14),'0',int_minute);
ELSEIF int_minute> 9 and int_minute<=19 THEN
SET int_minute = 10;SET s_date = CONCAT(LEFT(in_date, 14),int_minute);
ELSEIF int_minute> 19 and int_minute<=29 THEN
SET int_minute = 20;SET s_date = CONCAT(LEFT(in_date, 14),int_minute);
ELSEIF int_minute> 29 and int_minute<=39 THEN
SET int_minute = 30;SET s_date = CONCAT(LEFT(in_date, 14),int_minute);
ELSEIF int_minute> 39 and int_minute<=49 THEN
SET int_minute = 40;SET s_date = CONCAT(LEFT(in_date, 14),int_minute);ELSE
SET int_minute = 50;SET s_date = CONCAT(LEFT(in_date, 14),int_minute);END IF;SET out_date = STR_TO_DATE(s_date,'%Y-%m-%d %H:%i');RETURNout_date;END
注意:
1、my.ini文件編碼應為”ANSI“,否則cmd->”mysqld --initialize --console“時會報錯:Found option without preceding group in config file
2、mysqld --initialize-insecure --console創(chuàng)建基于密碼空白的管理員賬戶的初始化data目錄數(shù)據(jù),需要通過--secure-file-priv指定具有文件操作權限的目錄,否則會導致無法生成初始化數(shù)據(jù),報--secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled.
secure_file_priv?參數(shù)是只讀參數(shù),不能使用set global命令修改,需直接修改my.ini文件在[mysqld]內(nèi)加入secure_file_priv =,修改后重啟MySQL服務,使用“showglobal variableslike '%secure_file_priv%';”命令查看修改結果。
7、mysql對json數(shù)據(jù)的使用
總結
以上是生活随笔為你收集整理的mysql sail_MySQL使用小记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql附加服务器失败_今天,启动My
- 下一篇: mysql 远程攻击_gopher 协议