查看mysql版本SQL
select version();
部署命令
5.7版本
docker run --name=mysql5.7 -p 3306:3306 -v /app/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.25
8.0版本
docker run --name=mysql8.0 -p 3306:3306 -v /app/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.34
通过-v参数将/var/lib/mysql
映射到本机的/app/mysql
地址,也就是mysql数据的存储地址(binlog和表数据都存在这个文件夹里面)
binlog相关配置参考:MySQL5.7主从(master/slave)同步配置实验记录
通过参数-e MYSQL_ROOT_PASSWORD=123456
用来指定mysql root账号的密码
授权
这个时候我们如果远程连接mysql的话(其他机器连接),会发现还是连接不上,原因是我们的root账号还没有赋予远程连接的权限。在本机登录mysql之后,执行如下SQL
5.7版本
grant all on *.* to 'root'@'%' identified by '123456'; flush privileges;
8.0版本
grant all on *.* to 'root'@'%'; flush privileges;
如果上述操作均完成后发现还是连接不上,可能就需要检查宿主机的防火墙或者端口等是否开放的问题