docker mysql 的遠程登陸
創建目錄
mkdir -p $PWD/mysql5.7/logs $PWD/mysql5.7/data $PWD/mysql5.7/conf
touch $PWD/mysql5.7/conf/my.cnf
構建鏡像
docker run -p 3306:3306 --name mysql5.7 -v $PWD/mysql5.7/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/mysql5.7/logs:/logs -v $PWD/mysql5.7/data:/mysql_data -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
命令說明:
-p 3306:3306:將容器的3306端口映射到主機的3306端口
-v $PWD/conf/my.cnf:/etc/mysql/my.cnf:將主機當前目錄下的conf/my.cnf掛載到容器的/etc/mysql/my.cnf
-v $PWD/logs:/logs:將主機當前目錄下的logs目錄掛載到容器的/logs
-v $PWD/data:/mysql_data:將主機當前目錄下的data目錄掛載到容器的/mysql_data
-e MYSQL_ROOT_PASSWORD=123456:初始化root用戶的密碼
進入mysql
docker exec -it mysql5.7 /bin/sh
mysql -u root -p
遠程登陸授權
// 修改權限 (注意這里用戶名和密碼替換成自己的)
GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
例如:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
//更新緩存
FLUSH PRIVILEGES;
遠程密碼不同於本地密碼
查看
mysql -h 127.0.0.1 -u root -p
