docker mysql远程登陆

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

posted @ 2020-10-21 15:15  鲁哒哒  阅读(1324)  评论(0)    收藏  举报