提前开放好mysql需要用到的端口号,有的还需要去服务器的控制中心添加放行端口号,CentOS 7有关开放端口号的操作可以看这篇文章:CentOS 7 开启防火墙及开放指定端口
Docker常用的操作命令可以查看这篇文章:Docker常用命令[持续更新]
docker pull mysql
docker pull mysql:5.7
docker run --restart=always -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name docker_mysql mysql
docker exec -it docker_mysql(docker容器名称) bash
mysql -uroot -p
创建一个test账户密码为123456,并且允许远程登陆,如果想要test账户只能安装mysql的这台机器登陆,就把’%’改成’localhost’
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
授予test账户所有权限
grant all on *.* to 'test'@'%';
如果安装的是mysql8,需要更改加密方式才能使用Navicat工具远程连接,所有需要远程连接的账户都要更改,如果不是mysql8,比如mysql5.7是不需要的
ALTER USER 'test'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
exit;
执行两遍,第一次退出mysql,第二次退出docker容器