搜尋資料庫鏡像images
docker search mysql
搜尋結果如下圖所示:

選擇合适自己的mysql版本
因為mysql新版本出來了,很多特性沒有學習,是以筆者安裝了mysql:5.6 這個版本比較友好
使用docker pull進行下載下傳
docker pull mysql:5.6
等待下載下傳完成之後,使用 docker run 進行部署
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.6
參數解析:
-d : 表示背景運作
-p : 表示端口映射 伺服器端口:docker 内部mysql暴露的端口 即 你想自定義的端口号:3306
-e : 環境變量或者參數設定 這裡設定的是mysql 的root密碼
--name : 此容器的名字 可以通過 docker ps -a 進行檢視 對容器的操作可以通過容器id 也可以通過容器名
mysql:5.6 指的是使用那一個鏡像(image) 進行部署
如此mysql就部署成功了
進入容器,使用mysql,使用docker exec進入容器内部
docker exec -it mysql /bin/bash
參數解析:
-it : 可以了解為進入容器内部
mysql : 容器名稱 也可以使用容器id
/bin/bash : 進入/bin/bash 目錄 即可以使用指令行的方式
進入之後:
此時隻是進入了容器之中,并沒有進入mysql
使用 mysql -u root -p root 進入mysql
mysql -u root -p
root
進入之後就可以進行資料庫的基本操作了。
附上 mysql 建立使用者和權限: mysql:5.6 和最新的mysql 版本建立使用者和權限管理有很大差別,如果讀者是安裝的最新版的mysl 下面的方法可能不适用
create user \'使用者名\'@‘ip’ identified by \'密碼\';
其中ip屬性指的是限定某個ip才可以通路,%表示所有ip都可以通路 localhost 本機才可以通路
修改密碼:
update mysql.user set password = password(\'新密碼\') where user = \'使用者名\';
删除使用者:
delete from mysql.user where user = \'使用者名\';
修改使用者權限:
grant all privileges on 資料庫名.表名 to \'使用者名\'@‘ip’
如果是所有資料庫 所有表 使用 *.* ip同上建立使用者 可以使用 % 表示所有ip
最後修改了需要重新整理才能生效
flush privileges;