容器方式執行Mysql8.0.26的方法
阿新 • • 發佈:2021-08-20
容器化執行Mysql8.0.26測試環境的方法
1. 前言
- 之前為了好處理,都是二進位制包的方式安裝mysql,但是有時候需要下載和安裝也比較費時費力, 今天中午在弄Oracle RAC時想著以後能夠容器化方式執行Mysql資料庫. 所以簡單記錄一下.
2. 拉取映象和啟動
1. 拉取映象 docker pull mysql:8.0.26 2. 建立目錄檔案等. mkdir -p /mysql/cnf /mysql/data /mysql/log /mysql/mysql-files chmod 777 /mysql/* -R chmod 0644 /mysql/cnf -R # 注意 配置檔案檔案的許可權要單獨處理, 不然會有錯誤提示. 新增一個配置檔案, 使之符合公司的產品需求 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid max_allowed_packet = 1G innodb_log_file_size = 30M innodb_log_buffer_size = 256M innodb_file_per_table = 1 innodb_buffer_pool_size=1G #innodb_file_format=barracuda max_connections=2000 lower-case-table-names=1 innodb_strict_mode = 0 character_set_server=utf8 secure_file_priv = transaction-isolation = READ-COMMITTED default_authentication_plugin=mysql_native_password default-time-zone = '+08:00' #skip-grant-tables [mysql] prompt="\\u@\\h : \\d \\r:\\m:\\s>" default-character-set=utf8 將檔案儲存為: /mysql/conf/my.conf 並且設定 0644 的檔案許可權. 3. 啟動映象 命令如下: docker run --name mysql -p 3307:3306 -v /mysql/cnf/my.cnf:/etc/mysql/my.cnf -v /mysql/data:/var/lib/mysql -v /mysql/log:/logs -v /mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=貌似沒用 --restart=always -d mysql:8.0.26 # 注意我改了引數, 埠號等 並且資料庫自動啟動相關. 4. 登入映象建立可以遠端訪問的使用者許可權. docker exec -it mysql bash 輸入 mysql -uroot 登入資料庫 建立一個可以遠端訪問的有使用者, 注意我這邊使用了native password 所以密碼建立方式是不一樣的 create user 'root'@'%' identified WITH mysql_native_password by 'Tyourpasswords'; flush privileges ;