docker安装mysql与密码设置

下载: 

docker pull mysql:5.6

查看: 

docker images

创建目录/root/mysql,并进入: 

mkdir /root/mysql
cd /root/mysql

在/root/mysql目录下设置: 

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=666666 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -v $PWD/logs:/logs --name test_mysql mysql:5.6

参数说明 
-d 让容器在后台运行 
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置 
-v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 
-v $PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs
–name 容器的名字,随便取,但是必须唯一

查看创建的容器: 

docker ps

进入容器:

docker exec -it mysql /bin/bash

登录mysql:

mysql -uroot -p666666 -h localhost

重置密码:

set password for root@localhost = password('123');  

退出:

exit

 

如果你在安装Docker设置MySQL的root密码,但是忘记了,可以通过以下步骤尝试找回: 1. **登录Docker容器**: 首先,打开命令行工具并进入Docker运行MySQL服务的容器。假设你的容器名为`my_mysql_container`,可以使用下面的命令: ``` docker exec -it my_mysql_container /bin/bash ``` 2. **修改MySQL配置文件**: 登录到容器后,找到MySQL的数据目录,通常是`/var/lib/mysql`。在这个目录下有一个名为`mysql.sock`的socket文件(也可能有其他名称,取决于你如何启动MySQL),你可以编辑`my.cnf`或`.my.cnf`文件来更改root密码。 3. **临时禁用密码验证**: 打开`my.cnf`文件,将`bind-address = 127.0.0.1`改为你需要访问数据库的IP(如果当前仅本地主机可用则无需改动)。然后添加一行: ``` skip-grant-tables ``` 这将暂时关闭密码验证。 4. **重启MySQL服务**: 保存修改后,退出容器,然后使用命令重新启动MySQL: ``` docker restart my_mysql_container ``` 5. **恢复root权限**: 再次通过SSH或命令行连接到容器,执行以下SQL命令来设置密码: ```sql mysql -u root -e "UPDATE mysql.user SET Password=PASSWORD('your_new_password') WHERE User='root';" FLUSH PRIVILEGES; ``` 将`your_new_password`替换为你想要设置的新密码。 6. **移除临时设置**: 为了防止安全风险,记得删除`skip-grant-tables`行,并重启MySQL服务,让新的密码策略生效。 7. **确认新密码**: 使用新密码尝试登录MySQL服务器: ``` docker exec -it my_mysql_container mysql -u root -p your_new_password ``` 如果以上步骤无法解决问题,可能是因为你在创建镜像时没有设置初始密码,此时你需要查找原始镜像的创建脚本或说明文档来获取帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值