docker 運維 mysql伺服器容器

2021-10-04 20:48:25 字數 3122 閱讀 8425

[root@bluesky docker-file]

# pwd

/root/docker-file

[root@bluesky docker-file]

# mkdir -p mysql/conf # mysql配置檔案,放置my.cnf

[root@bluesky docker-file]

# mkdir -p mysql/data # mysql表資料檔案

[root@bluesky docker-file]

# cd dc-mysql/

[root@bluesky dc-mysql]

# pwd

/root/docker-file/dc-mysql

[root@bluesky dc-mysql]

# ls

docker-compose.yml mysql

[root@bluesky docker-file]

# touch docker-compose.yml

docker-compose.yml內容:

version

:'3'

services

:mysql

:image

: mysql

volumes

:- $pwd/mysql/data:/var/lib/mysql

- $pwd/mysql/conf/my.cnf:/etc/my.cnf

ports

:- 3306:

3306

environment

:mysql_root_password

: "111111" # root使用者密碼

mysql_user

:'test'

mysql_pass

:'123456'

在當前目錄下的mysql/conf目錄下新建my.cnf檔案:

[mysqld]

user=mysql

default-storage-engine=innodb

character-set-server=utf8mb4

[client]

default-character-set=utf8mb4

[mysql]

[root@bluesky docker-file]

# docker-compose build

[root@bluesky docker-file]

# docker-compose up -d

...

cmd執行

c:\users\administrator>mysql -h 192.168.101.58 -p 3306 -uroot -p

enter password: ******

error 2059 (hy000): authentication plugin 'caching_sha2_password'

cannot be loaded: õò²»µ½ö¸¶¨µä䣿顣

mysql8.0對密碼加密,革命尚未成功…

解決方案

連線到容器:

docker exec mysql_container_id /bin/bash
使用 root 使用者登陸:

root@3a02dca3a138:/# mysql -u root -p

enter password:

welcome to the mysql monitor. commands end with ; or \g.

your mysql connection id is 11

server version: 8.0.19 mysql community server - gpl

執行 sql 語句:

mysql> alter user 'root'@'%' identified with mysql_native_password by 'root'

;query ok, 0 rows affected (0.01 sec)

再次嘗試在cmd連線 mysql

c:\users\administrator>mysql -h 192.168.101.58 -p 3306 -uroot -p

enter password: ****

welcome to the mysql monitor. commands end with ; or \g.

your mysql connection id is 12

server version: 8.0.19 mysql community server - gpl

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.

還有一種方法解決初始登陸密碼加密的,在docker-compose.yml中加入:

command:-

-default-authentication-plugin=mysql_native_password

works!!

# 在 run 時掛載宿主時間配置

-v /etc/localtime:/etc/localtime

# 複製宿主機 localtime 配置

docker cp /etc/localtime 容器id:/etc/localtime

mysql常用運維 mysql 運維常見操作

mysql密碼的恢復方法之一 1 首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的 狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對外的埠封閉,並且停止ap...

mysql常用運維 (MYSQL常用運維指令)

1 mysql執行狀態 service mysqld status service mysqld start service mysqld stop 2 檢視sql程序,清理sql程序 show full processlist kill 2920578 3 賬號建立 資料庫授權 4 密碼修改 my...

運維 Docker 初識篇

1.docker是什麼?猿論 可能是把docker的概念講的最清楚的一篇文章 2.怎麼安裝 為了方便安裝,直接看的菜鳥教程的docker安裝教程 看到第二步就開始出現問題,大概是因為解析不了主機所以獲取不到docker的映象源的意思吧,怎麼解決呢?注意,這裡不是yum的問題,只要你docker的ce...