1、使用阿里云镜像仓库(可以用docker官网的镜像,不过速度会慢一点)
镜像仓库申请地址: https://cr.console.aliyun.com/cn-shanghai/instances/repositories
2、在服务器上拉取镜像
docker pull registry.cn-beijing.aliyuncs.com/mysqld/mysql
3、拉取下来以后查看镜像
docker images
4、运行一个mysql容器
docker run -p 3306:3306 --name mysql-container -v $PWD/conf:/etc/mysql/conf.d -v $PWD/mysqllogs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d 【镜像id】
5、查看容器是否拉起
6、进入到容器里面
docker exec -it 容器id bash
7、进入容器以后,用mysql -u root -p去登陆mysql,结果发现之前123456密码输入后,出现以后报错!Can‘t connect to local MySQL server through socket ‘/usr/local/mysql/tmp/3306/mysql.sock‘ (2)
这种情况是找不到mysql.sock文件,重启mysql服务就行了(启动mysql:service mysql start)
8、启动完后,还是报以下错误
9、打开vim /etc/my.cnf文件,把skip-grant-tables放进去就行
10、改完配置后,进行重启
11、这样就可以免密直接进入mysql,如下
12、再通过以下命令设置密码:
mysql> update user set password=password("新密码") where user="root"; mysql> flush privileges; mysql> quit
13、这样就完全设置完了,我们用客户端程序去连接验证一下,测试连接成功!
如果有问题,可以给我留言联系!谢谢!