一、docker上安装mysql
1、下载mysql镜像(以8.0.15为例)
docker pull mysql:8.0.15
2、下载好后,在opt下创建文件夹
命令:cd /opt/ 命令:mkdir mysql_docker 命令:cd mysql_docker/ 命令:echo $PWD
3、创建实例并启动
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -i -p 3306:3306 mysql:8.0.15
报错:端口占用
解决:
netstat -tanlp //找到被占用的端口进程
kill 1506 //kill对应进程
问题二:容器名被占用,须移除或重命名后才能使用这个容器名
解决:
docker rm 4d7f7420b912 (这个是CONTAINER ID --docker中的id 查看命令docker ps -a) //移除 //再创建新容器 docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -i -p 3306:3306 mysql:8.0.15
进入mysql并开启远程
1、进入mysql容器,并登陆mysql (这里密码是 123456)
docker exec -it mysqlserver bash
mysql -uroot -p
Enter password:
3、开启远程访问
select now();
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;