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 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
//更新缓存
FLUSH PRIVILEGES;
查看
mysql -h 127.0.0.1 -u root -p