1、安裝mysql鏡像
docker pull mysql/mysql-server
2、docker中啟動Mysql容器
docker run --name mysql01 -d -p 3306:3306 mysql/mysql-server
啟動后執行:
docker ps
通過以下命令查看root的password
docker logs mysql01
navicat連接mysql服務器測試
原因:mysql處於安全考慮,root用戶只能在本地登錄。
因此我們需要進入容器創建用戶並授權。
且mysql MYSQL_ONETIME_PASSWORD環境變量默認為true,root用戶密碼默認只能使用一次,登錄mysql后需要修改root的密碼。
通過以下命令進入mysql容器
docker exec -it mysql01 bash
通過以下命令進入mysql交互模式、輸入剛才docker logs mysql01中的密碼
mysql uroot -p
修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
創建用戶、授權。%代表任何地址都可以連接到服務器。
CREATE USER 'LZL'@'%' IDENTIFIED BY 'pwd123456';
GRANT ALL PRIVILEGES ON *.* TO 'LZL'@'%' WITH GRANT OPTION;
再次利用navicat連接,即可成功。
3、上面較為麻煩,還需進入mysql修改想對應的設置,下面一條命令即可配置全部信息。包括設置字符集、用戶、密碼等操作。-e 代表環境變量 -d 以后台模式運行容器 -p端口映射 --character-set-server為mysql字符集設置
docker run -d -p 3306:3306
-e MYSQL_USER="lzl"
-e MYSQL_PASSWORD="password"
-e MYSQL_ROOT_PASSWORD="password"
--name mysql01
mysql/mysql-server
--character-set-server=utf8
--collation-server=utf8_general_ci