返回頂部
關(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
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 成人亚洲欧美激情在线电影| 亚洲国产成人久久综合一区 | 成人黄动漫画免费网站视频| 国产成人亚洲综合欧美一部 | 亚洲国产成人久久综合一 | 亚洲精品成人区在线观看| 久久久久成人精品无码中文字幕| 国产成人精品午夜二三区| 成人性生交视频免费观看| 在线观看国产成人AV片| 成人免费在线视频| 成人毛片免费网站| 亚洲国产成人va在线观看网址| 成人免费视频69| 国产精品成人99久久久久| 2021成人国产精品| 成人午夜看片在线观看| 成人动漫在线视频| 免费观看一级成人毛片| 狠狠色成人综合首页| 成人欧美在线视频| 国产成人无码一区二区三区| 亚洲欧洲成人精品香蕉网| 久久电影www成人网| 成人国产一区二区三区| 国产成人免费网站| 美国成人a免费毛片| 国产精品成人免费综合| 亚洲精品午夜国产va久久成人| 高清成人爽a毛片免费网站| 国产成人麻豆精品午夜福利在线| 亚洲国产成人超福利久久精品| 欧美成人国产精品高潮| 国产成人精品视频网站| 2022国产成人精品福利网站| 国产精品成人四虎免费视频| 久久成人国产精品一区二区| 国产成人精品午夜视频'| 成人在线观看不卡| 国产成人久久一区二区三区| 国产成人十八黄网片|