2022年10月18日 星期二

在Docker環境安裝MySQL8

要使用Docker安裝MySQL8,並可以遠端作db連線

原先MySQL5的設定方式已經不能用,且my.cnf內容也需要調整

- 編輯my.cnf

  已經沒有/etc/mysql/mysql.conf.d/目錄

  ```

  !includedir /etc/mysql/conf.d/

  [mysqldump]

  user=xxx

  password=xxx

  [mysql]

  user=xxx

  password=xxx

  [mysqld]

  skip-grant-tables // 這個設定完成要以#關閉

  ```

  會發生無法用mysql -u root -p 進入mysql

  暫時把skip-grant-tables開啟

- 進入mysql container 修改root密碼

  會發生無法用mysql -u root -p 進入mysql

  改密碼讓正常可以進入mysql

  ```bash

  sudo docker exec -it mysql99 bash

  ```

  設定root@local的密碼

  ```mysql

  flush privileges;

  ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxx';

  ```

- 編輯my.cnf

  關閉 skip-grant-tables

  重啟mysql

- 進入mysql 改以新的方式取得遠端權限設定

  ```bash

  sudo docker exec -it mysql99 bash

  ```

  ```mysql

  CREATE USER 'root'@'%' IDENTIFIED BY 'be5578360';

  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

  FLUSH PRIVILEGES;

  ```

沒有留言: