<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        如何在開啟了log-bin的MySQLServer中創建FUNCTION

        來源:懂視網 責編:小采 時間:2020-11-09 12:47:18
        文檔

        如何在開啟了log-bin的MySQLServer中創建FUNCTION

        如何在開啟了log-bin的MySQLServer中創建FUNCTION:在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤:Error Code: 1418. This function has none of DETERMINIST 在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤: Error Code: 1418. Thi
        推薦度:
        導讀如何在開啟了log-bin的MySQLServer中創建FUNCTION:在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤:Error Code: 1418. This function has none of DETERMINIST 在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤: Error Code: 1418. Thi

        在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤:Error Code: 1418. This function has none of DETERMINIST

        在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤:

        Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

        原來是因為在主從復制的兩臺MySQL服務器中開啟了二進制日志選項log-bin,slave會從master復制數據,而一些操作,比如function所得的結果在master和slave上可能不同,,所以存在潛在的安全隱患。因此,在默認情況下回阻止function的創建。

        有兩種辦法來解決這一問題
        1.將log_bin_trust_function_creators參數設置為ON,這樣一來開啟了log-bin的MySQL Server便可以隨意創建function。這里存在潛在的數據安全問題,除非明確的知道創建的function在master和slave上的行為完全一致。

        設置該參數可以用動態的方式或者指定該參數來啟動數據庫服務器或者修改配置文件后重啟服務器。需注意的是,動態設置的方式會在服務器重啟后失效。
        mysql> show variables like 'log_bin_trust_function_creators';
        mysql> set global log_bin_trust_function_creators=1;

        另外如果是在master上創建函數,想通過主從復制的方式將函數復制到slave上則也需在開啟了log-bin的slave中設置上述變量的值為ON(變量的設置不會從master復制到slave上,這點需要注意),否則主從復制會報錯。


        2.明確指明函數的類型
        1 DETERMINISTIC 不確定的
        2 NO SQL 沒有SQl語句,當然也不會修改數據
        3 READS SQL DATA 只是讀取數據,當然也不會修改數據

        比如:CREATE DEFINER=`username`@`%` READS SQL DATA FUNCTION `fn_getitemclock`(i_itemid bigint,i_clock int,i_pos int) RETURNS int(11)...
        這樣一來相當于明確的告知MySQL服務器這個函數不會修改數據,因此可以在開啟了log-bin的服務器上安全的創建并被復制到開啟了log-bin的slave上。

        linux

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        如何在開啟了log-bin的MySQLServer中創建FUNCTION

        如何在開啟了log-bin的MySQLServer中創建FUNCTION:在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤:Error Code: 1418. This function has none of DETERMINIST 在MySQL主從復制機器的master的數據庫中創建function,報出如下錯誤: Error Code: 1418. Thi
        推薦度:
        標簽: 開啟 開啟了 bin
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日韩中文字幕精品免费一区| 日韩在线视频线视频免费网站| 亚洲福利在线视频| 亚洲精品无码午夜福利中文字幕| 国产精品亚洲高清一区二区| 免费看国产曰批40分钟| 可以免费观看一级毛片黄a| 日韩一级在线播放免费观看| 国产精品视频永久免费播放| 国产精品成人免费视频网站京东| 最近最新中文字幕完整版免费高清 | 亚洲а∨天堂久久精品| 日韩亚洲国产综合久久久| 亚洲国产香蕉人人爽成AV片久久 | 国产精品视频免费观看| 一个人免费观看视频www| 最近免费中文字幕大全视频| 全免费a级毛片免费看不卡 | 国产在线国偷精品免费看| baoyu777永久免费视频| 无码囯产精品一区二区免费| 69av免费观看| 成年女人毛片免费播放人| 国产成人免费高清在线观看| 亚洲精品人成无码中文毛片| 久久久久亚洲?V成人无码| 亚洲AV无码专区国产乱码4SE| 亚洲国产精品一区二区久久| 亚洲图片中文字幕| 亚洲国产精品嫩草影院| 深夜A级毛片视频免费| 中文字幕视频在线免费观看| 日本免费一区二区三区| 好男人www免费高清视频在线| 亚洲成a人片在线观看国产| 亚洲女同成av人片在线观看| 亚洲精品中文字幕无乱码| 亚洲色大成网站www| 国产精品免费久久久久电影网| 四虎影视在线影院在线观看免费视频| 无码中文字幕av免费放|