容器方式運行Mysql8.0.26的方法


容器化運行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 ;

3. 客戶端登錄驗證.

image


免責聲明!

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



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