解決: Table XX.QRTZ_LOCKS doesn`t exist 的問題


本機環境

window10專業版2004
WSL2(Ubuntu18.04)下的Docker容器(Mysql5.7.22)

問題描述:

Quartz定時任務項目, 數據庫從Windows Mysql遷移到Docker Mysql容器后, 啟動項目時, 報Table 'xx.QRTZ_LOCKS' doesn't exist錯誤

問題原因:

Linux系統下Mysql數據表大小寫敏感

解決辦法

修改Mysql配置文件, 在[mysqld]在下面增加一行
lower_case_table_names=1 (0:大小寫敏感;1:大小寫不敏感)

Docker已經運行容器修改Mysql配置的方法

  1. 直接在容器內安裝vim修改配置文件(本人嘗試未成功)
    $ apt-get update
    $ apt-get install vim
    $ vim /etc/mysql/mysql.conf.d/mysqld.cnf
    $ # 在[mysqld]下添加一行: lower_case_table_names=1
    
    在這里插入圖片描述
  2. 把容器配置文件拷貝到宿主機修改然后拷貝回去替換原來的配置文件
    $ # [container]換成自己的容器ID或者容器名
    $ docker cp [container]:/etc/mysql/mysql.conf.d/mysqld.cnf mysqld.cnf
    $ # 在[mysqld]下添加一行: lower_case_table_names=1
    $ vim mysqld.cnf
    $ docker cp mysqld.cnf [container]:/etc/mysql/mysql.conf.d/
    $ # 重啟容器
    $ docker restart [container]
    
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM