返回頂部
關(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用戶要小心 這篇文章對(duì)您有用,請(qǐng)分享給您的好友,謝謝
文章地址:http://m.meyanliao.com/article/other/MySQLRCsyauth_socketyhyxx.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 久久AV高清无码| 无码少妇A片一区二区三区| 欧洲成人午夜精品无码区久久| 国产AV无码专区亚洲Av| 亚洲Aⅴ无码专区在线观看q| 国产在线无码制服丝袜无码| 亚洲AV无码国产精品麻豆天美| 精品久久久久久无码人妻中文字幕| 一本加勒比hezyo无码专区| 无码中文字幕av免费放| 人妻少妇乱子伦无码视频专区 | 亚洲av无码乱码国产精品fc2| 伊人久久大香线蕉无码| 亚洲日韩中文无码久久| 亚洲精品无码久久不卡| 亚洲av无码成人精品国产| 无码国产精品一区二区免费16| 亚洲 无码 在线 专区| 成人免费一区二区无码视频| 高清无码中文字幕在线观看视频| 中出人妻中文字幕无码| 午夜无码一区二区三区在线观看 | 国产亚洲?V无码?V男人的天堂| 西西人体444www大胆无码视频| 精品无码久久久久久午夜| 午夜亚洲AV日韩AV无码大全| 久久久久琪琪去精品色无码| 国产成人精品无码片区在线观看| 自慰无码一区二区三区| 亚洲综合无码AV一区二区| 中文有无人妻vs无码人妻激烈| 亚洲日韩欧洲无码av夜夜摸| 久久久久亚洲Av片无码v| 无码人妻精品一区二区三区久久| 亚洲av永久无码精品网站 | 中文字幕丰满乱子无码视频| 成人无码AV一区二区| 色窝窝无码一区二区三区成人网站| 日韩乱码人妻无码中文字幕 | 无码国内精品久久综合88| 亚洲av无码一区二区三区天堂古代|