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

歡迎訪問 生活随笔!

生活随笔

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

数据库

docker java mysql_Docker 搭建 MySQL 服务

發布時間:2023/12/3 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker java mysql_Docker 搭建 MySQL 服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝 Docker

請參考我的另一篇文章

建立鏡像

拉取鏡像

# 拉取最新版本鏡像

docker pull mysql

# 拉取執行版本鏡像

docker pull mysql:版本號

檢查拉取是否成功

docker images

創建數據庫容器(不建立數據映射)

docker run -d --name mysql --rm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

# -d 代表后臺運行

# -name 代碼容器名稱

# -p 代表端口映射,格式為 宿主機映射端口:容器運行端口

# -e 代表添加環境變量 MYSQL_ROOT_PASSWORD是root用戶的登陸密碼

創建數據庫容器(建立數據映射)

docker run -p 3306:3306 --name mysql-3307

-v /usr/local/docker/mysql/conf:/etc/mysql

-v /usr/local/docker/mysql/logs:/var/log/mysql

-v /usr/local/docker/mysql/data:/var/lib/mysql

-e MYSQL_ROOT_PASSWORD=123456

-d mysql:latest

# -v:主機和容器的目錄映射關系,":"前為主機目錄,之后為容器目錄

檢查容器是否正確運行

docker container ls

# 可以看到容器ID,容器的源鏡像,啟動命令,創建時間,狀態,端口映射信息,容器名字

遠程連接MySQL

進入docker本地連接mysql客戶端

sudo docker exec -it mysql bash

mysql -uroot -p123456

遠程連接mysql

遠程連接軟件時要注意問題

我們在創建容器的時候已經將容器的3306端口和主機的3306端口映射到一起,所以我們應該訪問:

host: 安裝mysql機器ip

port: 3306

user: root

password: 123456

無法連接到MySQL的幾個原因

防火墻阻攔

# 開放端口:

$ systemctl status firewalld

$ firewall-cmd --zone=public --add-port=3306/tcp -permanent

$ firewall-cmd --reload

# 關閉防火墻:

$ sudo systemctl stop firewalld

需要進入docker本地客戶端設置遠程訪問賬號

$ sudo docker exec -it mysql bash

$ mysql -uroot -p123456

mysql> grant all privileges on *.* to root@'%' identified by "password";

? 原理:

# mysql使用mysql數據庫中的user表來管理權限,修改user表就可以修改權限(只有root賬號可以修改)

mysql> use mysql;

Database changed

mysql> select host,user,password from user;

+--------------+------+-------------------------------------------+

| host | user | password |

+--------------+------+-------------------------------------------+

| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

+--------------+------+-------------------------------------------+

2 rows in set (0.00 sec)

mysql> grant all privileges on *.* to root@'%' identified by "123456";

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;

+--------------+------+-------------------------------------------+

| host | user | password |

+--------------+------+-------------------------------------------+

| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

+--------------+------+-------------------------------------------+

3 rows in set (0.00 sec)

參考連接

總結

以上是生活随笔為你收集整理的docker java mysql_Docker 搭建 MySQL 服务的全部內容,希望文章能夠幫你解決所遇到的問題。

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