日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【Docker】 安装 mysql

發布時間:2024/9/19 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Docker】 安装 mysql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 前言
  • 準備
  • 拉取鏡像
  • 創建但不運行容器
  • 運行容器
  • 命令行登錄mysql
  • 修改密碼
  • mysql 隨 docker 自動啟動
  • 設置mysql數據編碼格式為utf8mb4
  • 設置mysql表名不區分大小寫
  • 重啟mysql并查看設置
  • 遠程訪問授權
  • 參考

前言

  • CentOS 7.9
  • Docker Version: 1.13.1

準備

  • docker 已安裝。

  • 選擇合適的mysql鏡像(mysql:5.7.31)。

拉取鏡像

shell> docker pull mysql:5.7.31 Trying to pull repository docker.io/library/mysql ... 5.7.31: Pulling from docker.io/library/mysql bb79b6b2107f: Pull complete 49e22f6fb9f7: Pull complete 842b1255668c: Pull complete 9f48d1f43000: Pull complete c693f0615bce: Pull complete 8a621b9dbed2: Pull complete 0807d32aef13: Pull complete 6d2fc69dfa35: Pull complete 56153548dd2c: Pull complete 3bb6ba940303: Pull complete 3e1888da91a7: Pull complete Digest: sha256:b3dc8d10307ab7b9ca1a7981b1601a67e176408be618fc4216d137be37dae10b Status: Downloaded newer image for docker.io/mysql:5.7.31 shell> docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest feb5d9fea6a5 6 weeks ago 13.3 kB docker.io/mysql 5.7.31 42cdba9f1b08 12 months ago 448 MB

創建但不運行容器

shell> docker create --restart=always --name mysql1 \ -v /data/mysql1/data:/var/lib/mysql \ -v /data/mysql1/conf.d:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7.31
  • --restart=always: 自動運行
  • -v /data/mysql1/data:/var/lib/mysql: 將宿主機的/data/mysql1/data掛載成容器的/var/lib/mysql
  • -v /data/mysql1/conf.d:/etc/mysql/conf.d: 將宿主機的/data/mysql1/conf.d掛載成容器的/etc/mysql/conf.d

運行容器

shell> docker start mysql1

命令行登錄mysql

shell> docker exec -it mysql1 bash root@a6f9e4a700a3:/# mysql -uroot -pmy-secret-pw mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> exit Bye

或者:

shell> docker exec -it mysql1 mysql -uroot -pmy-secret-pw mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> exit Bye

修改密碼

mysql> set password=password('123456');

mysql 隨 docker 自動啟動

創建容器未添加--restart=always參數時,可以使用docker update添加。

shell> docker update --restart=always mysql1
  • 每次docker啟動時,mysql也會自動啟動

設置mysql數據編碼格式為utf8mb4

shell> vim /data/mysql1/conf.d/my.cnf # 打開文件(沒有該文件時,創建它)后,添加下面的配置。注意對應節點 [client] default-character-set = utf8mb4[mysql] default-character-set = utf8mb4[mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4'

設置mysql表名不區分大小寫

shell> vim /data/mysql1/conf.d/my.cnf ----------------------------- # 打開文件后,添加下面的配置。注意對應節點 [mysqld] lower_case_table_names = 1

重啟mysql并查看設置

shell> docker exec -it mysql1 mysql -uroot -p123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31 MySQL Community Server (GPL)Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+--------------------+ | Variable_name | Value | +--------------------------+--------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | collation_connection | utf8mb4_unicode_ci | | collation_database | utf8mb4_unicode_ci | | collation_server | utf8mb4_unicode_ci | +--------------------------+--------------------+ 10 rows in set (0.01 sec)mysql> show variables like '%table_names'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_table_names | 1 | +------------------------+-------+ 1 row in set (0.00 sec)mysql> exit Bye

遠程訪問授權

參考這里。

參考

https://hub.docker.com/_/mysql

總結

以上是生活随笔為你收集整理的【Docker】 安装 mysql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。