鍍金池/ 問(wèn)答/ 數(shù)據(jù)庫(kù)問(wèn)答
帥到炸 回答

不能重新加載 my.cnf,除非重啟 mysql,
只有有限的一些變量可以連接上 mysql 后修改。大部分是啟動(dòng)后就不能修改的。

練命 回答

問(wèn)題原因:缺少兩個(gè)PHP的擴(kuò)展組件mbstring和gd。
解決方式:

  1. mbstring,Ubuntu下安裝方式apt-get install php7-mbstring
  2. gd,Ubuntu下安裝方式apt-get install php7-gd
嫑吢丕 回答

Optimizer是基于RBO和CBO綜合考慮,不是一定走索引效率最高,full scan table和full scan index有時(shí)候效率會(huì)更高。

假設(shè)查詢(xún) LIMIT 1, 符合WHERE條件的數(shù)據(jù)剛插入,是走WHERE條件索引快,還是ORDER BY id主鍵更快?顯而易見(jiàn),走主鍵full scan index更快

脾氣硬 回答

ulimit -n 已經(jīng)修改了,并且也生效了。最有我修改了service文件,總連接數(shù)就正常了:

[unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=root
Group=root
Environment="OPTIONS=-f /etc/mongod/mongos.conf"
ExecStart=/usr/bin/mongos $OPTIONS --maxConns 10000
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb
ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongos/mongod.pid

# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target
逗婦乳 回答

LIMIT后少個(gè)空格

SET m_limit_string = CONCAT('LIMIT ', m_begin_row, ',', page_size);
情皺 回答

可以貼下你題目的數(shù)據(jù)結(jié)構(gòu)嗎
//修改

//偽代碼

var data = {....}; //你的答題數(shù)據(jù)

var nowQues = null; //當(dāng)前題目
var nowQuesArr = [];//當(dāng)前答題類(lèi)型的數(shù)組 在請(qǐng)求到題目數(shù)據(jù)時(shí)就更新這個(gè)值 如要先答單選,就只取出單選數(shù)組
var quesLen = nowQuesArr.length; //當(dāng)前答題數(shù)組長(zhǎng)度
var count = 0; //計(jì)數(shù)器
nextBtn.click = function(){
    count ++;
    nowQues =  nowQuesArr[i];   //下一步按鈕點(diǎn)擊的時(shí)候更新count值,對(duì)應(yīng)更新當(dāng)前題目;
    if(count > nowQuesArr .length){
        if(data.qsMiddleList.length>0){
            this.nowQuesArr = data.qsMiddleLis; //如果單選題答完了就判斷 -判斷題-數(shù)組的長(zhǎng)度,有就對(duì)應(yīng)更新當(dāng)前答題數(shù)組
            count = 0; //重置計(jì)數(shù)器
        }
        else if(data.complexList.length>0){
             this.nowQuesArr = data.qsMiddleLis;
             count = 0; //重置計(jì)數(shù)器
        }
    }
}

//依然可以用數(shù)組下表去切換題目,只是每個(gè)類(lèi)型的最后一題時(shí)判斷下個(gè)類(lèi)型的題目長(zhǎng)度
所寫(xiě)代碼只是提供思路
影魅 回答

寫(xiě)個(gè)存儲(chǔ)過(guò)程,調(diào)用

DROP PROCEDURE IF EXISTS dorepeat; 
CREATE PROCEDURE dorepeat(p1 INT)
BEGIN
    DECLARE i int DEFAULT 0;
    REPEAT 
        SET i = i + 1; 
        set @sql_create_table_gpstrail = concat('create table if not exists tab_test_',i,' like tab_test');
        PREPARE sql_create_table_gpstrail FROM @sql_create_table_gpstrail;     
        EXECUTE sql_create_table_gpstrail;
    UNTIL i > p1 END REPEAT;
END

call dorepeat(3);
墨沫 回答

從你代碼來(lái)看, 在構(gòu)造函數(shù)中是獲取不到li的寬度的,因?yàn)樵跇?gòu)造函數(shù)中 你只做了把li插入到ul中 而ul并沒(méi)有插入到DOM中,故 li也就沒(méi)有插入到DOM中 所以你獲取不到,考慮換個(gè)思路 實(shí)現(xiàn)你的需求。

祈歡 回答

個(gè)人理解:
1、connectionLimit 指的就是連接池可創(chuàng)建的最大連接數(shù),mysql 沒(méi)有最小連接數(shù),connectionLimit 由應(yīng)用程序開(kāi)發(fā)者自己設(shè)置,肯定是要不超過(guò) mysql 的最大連接數(shù)

2、max_connections 就是 mysql 能同時(shí)提供有效服務(wù)的最大連接數(shù),max_used_connections 是到 mysql 的峰值連接數(shù),max_connecitons 可以小于 max_used_connections,比如說(shuō):你的 max_connections 為 1000 ,但是應(yīng)用程序某個(gè)時(shí)刻建立了 1250 個(gè)連接,這多出來(lái)的連接數(shù)中就會(huì)出現(xiàn)無(wú)法提供有效服務(wù)的情況,mysql 也會(huì)報(bào)錯(cuò) too many connections

3、連接池中建立新的連接就會(huì)觸發(fā) connection 事件

北城荒 回答
  1. 把代碼上傳到服務(wù)器,搭好你這個(gè)代碼運(yùn)行所需要環(huán)境。比如Node.jsMySQL等等。
  2. 如果開(kāi)啟了防火墻服務(wù),記得開(kāi)放對(duì)應(yīng)服務(wù)的端口,不然訪(fǎng)問(wèn)不到的。比如MySQL,要開(kāi)放3306.如果沒(méi)有開(kāi)啟防火墻服務(wù),就不用考慮這個(gè)問(wèn)題。
  3. 然后開(kāi)啟你程序所需要的各個(gè)服務(wù)。
  4. 然后你本地的mpvue去訪(fǎng)問(wèn)位于服務(wù)器上的這個(gè)api的網(wǎng)址,接受返回的數(shù)據(jù)就可以了
凹凸曼 回答

已經(jīng)找到答案??雌饋?lái)是一個(gè) Laravel 的 bug

相似的問(wèn)題:

https://laracasts.com/discuss...

Eloquent 應(yīng)該寫(xiě)成:

$sample->update([
    'ext'=>[
        'hello'=>'world2'
        ]
   ]);

DB class 可以寫(xiě)成

$sample->update(['ext.hello'=>'world2']);
莓森 回答

可以主從同步。對(duì)主庫(kù)寫(xiě)即可。其他的通過(guò)同步機(jī)制同步到另外一臺(tái)

臭榴蓮 回答

mongodb本身就支持備份還原,你可以在nodejs服務(wù)中增加備份還原接口,從生產(chǎn)環(huán)境的服務(wù)上下載備份文件,在dev環(huán)境的服務(wù)上上傳備份文件執(zhí)行還原操作。

背叛者 回答

使用了一個(gè)比較笨的方法,就先與時(shí)間拼接成一個(gè)字符串 Concat(time,列) as newColumn ,然后MAX取得最大值,接著在使用sub取時(shí)間后的內(nèi)容

柚稚 回答

這么說(shuō)吧,你用brew install packagename是用來(lái)安裝命令行工具的,一般不可能影響到圖形界面。
brew cask install packagename倒是有可能。
mysql官方文檔是通過(guò)dmg文件安裝的:

The MySQL Installation Package includes a MySQL preference pane that enables you to start, stop, and control automated startup during boot of your MySQL installation.

這個(gè)面板就只有開(kāi)啟、關(guān)閉、控制開(kāi)機(jī)自啟mysql功能。 你用brew install mysql安裝的mysql能用Homebrew Services來(lái)實(shí)現(xiàn)這些功能。

# 啟動(dòng)
$ brew services run mysql
# 關(guān)閉
$ brew services stop mysql
# 重啟
$ brew services restart mysql
# 開(kāi)啟自啟
$ sudo brew services start mysql
她愚我 回答

你給的源碼,測(cè)試300條數(shù)據(jù)毫無(wú)問(wèn)題,每次執(zhí)行均順序執(zhí)行并得出結(jié)果,python3.6.1 pymysql 0.8.0 mysql 5.7.21
懷疑可能是你的time.sleep(5) #模擬其他操作,使得mysql連接超時(shí)斷開(kāi)

故人嘆 回答

大量更新業(yè)務(wù)操作是在一定情況下偶發(fā)還是經(jīng)常操作的

如果是偶發(fā)建議停業(yè)務(wù)操作

如果是經(jīng)常操作考慮業(yè)務(wù)上是否可以做及時(shí)處理或分發(fā)消息異步處理

上面的直接操作沒(méi)有時(shí)間限定,你可以起一個(gè)進(jìn)程,每隔一定時(shí)間處理一定的數(shù)量,比如1分鐘處理100個(gè)更新,然后sleep(10)迭代處理,

偽代碼

$limit = 0;
$offset = 100;
while(true) {
    $data = getLists($limit);
    // operate
    doit($data);
    sleep(10);
    // log
    $limit += $offset;
}
九年囚 回答

select column ;這個(gè)column可以自定義

糖豆豆 回答

可能那張表中的某個(gè)字段和mysql的預(yù)留字段(比如to)沖突了,要轉(zhuǎn)義一下這個(gè)字段再查