返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 資訊 > 其他>MySQL 8.0.4 RC使用 auth_socket用戶要小心

  早在2015年11月,就有報(bào)告使用sha256_password進(jìn)行auth_socket身份驗(yàn)證失敗。這防止在SHA256認(rèn)證之后用auth_socket插件識(shí)別的用戶進(jìn)行缺省認(rèn)證方法mysql文章入庫軟件。在MySQL 8.0.4 RC中,default_authentication_plugin被更改為caching_sha2_password,不知道他們是否解決了這個(gè)bug。

  測試的源代碼是從dev.mysql.com下載的,并使用發(fā)布選項(xiàng)進(jìn)行編譯。 一些選項(xiàng)被禁用,以減少構(gòu)建時(shí)間,以及設(shè)置路徑前綴,并確保使用本地的OpenSSL庫::

  version="$(basename $(pwd))";

  prefix="/home/ceri/opt/mysql/${version}";

  cmake . -DBUILD_CONFIG=mysql_release \

mysql文章入庫軟件

  -DCMAKE_INSTALL_PREFIX:PATH="${prefix}" \

  -DMYSQL_DATADIR:PATH="${prefix}/data" \

  -DWITH_SSL:STRING=system \

  -DWITH_ARCHIVE_STORAGE_ENGINE:BOOL=OFF \

  -DWITH_EMBEDDED_SERVER:BOOL=OFF \

  -DWITH_EXTRA_CHARSETS:STRING="" \

  -DWITH_FEDERATED_STORAGE_ENGINE:BOOL=OFF \

  -DWITH_BLACKHOLE_STORAGE_ENGINE:BOOL=OFF \

  -DWITH_BOOST="./$(find boost/ -maxdepth 1 -type d -not -name boost)"

  在完成構(gòu)建和構(gòu)建測試之后,MySQL Sandbox用來創(chuàng)建一個(gè)測試實(shí)例,使用low_level_make_sandbox命令來獲得一些額外的控制。之后,有必要恢復(fù)default_authentication_pluginmysql文件入庫工具,因?yàn)樗诎惭b過程中更改為mysql_native_password:

  $ low_level_make_sandbox -d mysql-8.0.4-rc --datadir_from=script \

  -b ~/opt/mysql/mysql-8.0.4-rc -i 8.0 -P 20804

  $ sed -Ei 's/^(default_authentication_plugin=mysql_native_password)/#\1/' my.sandbox.cnf

  在啟動(dòng)實(shí)例之后,我創(chuàng)建了快速測試用例。這將安裝auth_socket插件并創(chuàng)建一個(gè)用戶來使用它來標(biāo)識(shí)自己:

  mysql [localhost] {root} ((none)) > show global variables like 'default_authentication_plugin';

  +-------------------------------+-----------------------+

  | Variable_name                | Value                |

  +-------------------------------+-----------------------+

  | default_authentication_plugin | caching_sha2_password |

  +-------------------------------+-----------------------+

  1 row in set (0.00 sec)

  mysql [localhost] {root} ((none)) > install plugin auth_socket soname 'auth_socket.so';

  Query OK, 0 rows affected (0.02 sec)

  mysql [localhost] {root} ((none)) > create user ceri@localhost identified with auth_socket;

  Query OK, 0 rows affected (0.04 sec)

  mysql [localhost] {root} ((none)) > grant all on *.* to ceri@localhost;

  Query OK, 0 rows affected (0.03 sec)

  不幸的是,當(dāng)我試圖通過這個(gè)新用戶連接時(shí),一個(gè)熟悉的結(jié)果——盡管有趣的是,一個(gè)新的錯(cuò)誤消息!

  $ ./use -uceri

  ERROR 2000 (HY000): Unknown MySQL error

  通過使用5.7客戶機(jī)(一個(gè)握手錯(cuò)誤),我們可以看到預(yù)期的錯(cuò)誤消息:

  $ ~/opt/mysql/mysql_5.7.20/bin/mysql --defaults-file=./my.sandbox.cnf -uceri

  ERROR 2012 (HY000): Error in server handshake

  雖然在MySQL 8.0.4 RC中有許多重大的改進(jìn)和新特性,但是使用auth_socket插件的任何系統(tǒng)都需要確保它們強(qiáng)制使用default_authentication_plugin=mysql_native_password——至少現(xiàn)在是這樣mysql文章入庫軟件 。

如果您覺得 MySQL 8.0.4 RC使用 auth_socket用戶要小心 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.brucezhang.com/article/other/MySQLRCsyauth_socketyhyxx.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 成人最新午夜免费视频| 成人H动漫精品一区二区| 成人在线免费观看网站| 欧美成人看片一区二区三区尤物| 日韩成人一区ftp在线播放| 成人综合伊人五月婷久久| 天天躁日日躁成人字幕aⅴ| 国产成人理在线观看视频| 久久怡红院亚欧成人影院| 成人在线色视频| 亚洲精品国产成人片| 欧洲成人午夜精品无码区久久| 在线免费成人网| 久久亚洲AV成人无码国产| 成人h动漫精品一区二区无码 | 欧美成人在线视频| 国产精品成人免费视频网站| 亚洲欧美成人综合| 欧美成人久久久| 免费无码成人AV在线播放不卡 | 色窝窝无码一区二区三区成人网站| 成人最新午夜免费视频| 亚洲成人第一页| 国产成人无码精品一区不卡| 欧美亚洲国产成人综合在线| 国产成人av在线影院| 国产精品成人免费视频网站| 成人网站在线进入爽爽爽| 久久亚洲国产成人亚| 国产成人精品免高潮在线观看| 成人精品视频一区二区三区| 中文字幕成人乱码在线电影| 国产婷婷成人久久av免费高清| 国产成人精品实拍在线| 成人免费无毒在线观看网站| 成人男女网18免费视频| 欧美成人家庭影院| 欧美成人精品三级网站| 欧美在线成人午夜网站| 青青国产成人久久激情911 | 国产成人精品自线拍|