分类 debian 下的文章

docker 安装指定版本的mysql

1.安装docker支持,debian为例

自动安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

2.搜索各版本的mysql服务

docker search mysql

3.我选择默认的mysql,该mysql可以支持多版本,默认最新版本

docker pull mysql

4.换版本可以使用

docker pull mysql:版本号

如:

docker pull mysql:5.7

5.创建本地目录
命令:cd /opt/

命令:mkdir mysql_docker

命令:cd mysql_docker/

命令:echo $PWD

6.启动mysql,最后的5.7 可以是最新的last或者其他版本,MYSQL_ROOT_PASSWORD是默认密码,可以修改。

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 -d -i -p 3306:3306 mysql:5.7

安装启动基本上就完成了。下面是配置远程访问,如果本地使用可以不配置。直接使用容器名称链接。

7、进入mysql容器,并登陆mysql

命令:docker exec -it mysqlserver bash

命令:mysql -uroot -p

8、开启远程访问权限(mysql8 和 5.7 是不一样的)

下面是mysql8的方式

======================================================================

命令:use mysql;

命令:select host,user from user;

命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

命令:flush privileges;

======================================================================

下面是mysql5.7的方式

======================================================================

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456';
执行完上面的语句之后还不会立即生效,还需要让mysql重新加载用户权限:

flush privileges;

======================================================================

9.远程连接mysql测试。

查看docker日志

命令:docker logs -f --tail 10 a4dac74d48f7