mysql加密連接報錯處理記錄

  一、目前mysql的版本更新的特別快了,那麼我們在使用的時候出現navicat連接異常的問題了,原因是因爲navicat版本過低導致的。

  具體是因爲:mysql8.0.4爲了更安全的連接,默認從mysql_native_password改成了caching_sha2_password了。所以導致很多連接工具連接失敗了。

  這樣改的目的是加密算法的改變意味着安全

  二、解決辦法有兩個

  1)更新navicat的包,可以解決這個問題。

  2)修改默認加密方式,通過docker部署mysql舉例

version: '3'
services:
  xbd-mysql:
    image: mysql:8.0.19
    restart: always
    container_name: xbd-mysql
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=root
    volumes:
      - /var/lib/mysql:/var/lib/mysql
    ports:
      - 3306:3306
    privileged: true
    command: ['--lower_case_table_names=1',
              '--character-set-server=utf8',
              '--collation-server=utf8_general_ci',
              '--default_authentication_plugin=mysql_native_password',
              '--sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION']

  這種方式默認啓動有效,如果存在用戶數據,需要手動修改

  myql.user中plugin類型爲mysql_native_password。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章