返回頂部
關(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://m.brucezhang.com/article/other/MySQLRCsyauth_socketyhyxx.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 亚洲国产精品成人精品软件| 欧美成人a人片| 久久精品噜噜噜成人av| 亚洲av午夜成人片| 成人看片app| 国产成人无码一区二区三区| 亚洲精品成人区在线观看| 综合558欧美成人永久网站| 成人口工漫画网站免费| 四虎影院成人在线观看| 成人永久免费福利视频app| 国产成人一区二区三区| 成人毛片免费在线观看| 亚洲成人福利在线观看| 成人免费视频软件网站| 久久精品成人免费观看| 国产精品成人免费综合| 欧美成人看片黄a免费看| 国产成人精品亚洲| 成人在线观看不卡| a级成人毛片免费图片| 国产成人免费高清视频网址| 成人欧美一区二区三区在线观看| 亚洲欧洲精品成人久久曰影片| 成人影片一区免费观看| 欧美亚洲国产成人高清在线| 亚洲欧美成人一区二区在线电影| 成人午夜视频精品一区| 欧美激情成人网| 久久久www成人免费精品| 亚洲成人在线电影| 国产成人免费a在线资源| 国产成人精品a视频| 国产成人精品第一区二区| 成人av在线一区二区三区| 成人午夜亚洲精品无码网站| 欧美人成人亚洲专区中文字幕| 2345成人高清毛片| 久久精品成人欧美大片| 78成人精品电影在线播放 | 色五月婷婷成人网|