Centos7.0下使用Docker的mysql

 

 

1.获取Mysql镜像

$ sudo docker pull mysql

查看镜像列表

$ sudo docker images

2.创建并启动mysql容器

$ sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

  • –name:给新创建的容器命名,此处命名为pwc-mysql
  • -e:配置信息,此处配置mysqlroot用户的登陆密码
  • -p:端口映射,此处映射主机3306端口容器pwc-mysql的3306端口
  • -d:成功启动容器后输出容器的完整ID,例如上图 73f8811f669ee...
  • 最后一个mysql指的是mysql镜像名字

使用命令查看运行状态:

$ sudo docker ps

3.测试连接mysql

接着使用navicat连接 

连接MySQL前需要防火墙开放3306端口或者关闭防火墙。

防火墙操作参考:https://mp.csdn.net/postedit/79027104

Centos7.0下使用Docker的mysql_第1张图片

如果报错:authentication plugin 'caching_sha2_passwoerd' cannot be load

Centos7.0下使用Docker的mysql_第2张图片

登入Docker容器设置:首先查看运行的docker容器:

sudo docker ps 

使用命令进入msyql容器:

$ sudo docker exec -it d984982e3adf /bin/bash  

登录数据库:

mysql -uroot -p

输入下列命令 修改账户密码加密规则并更新用户密码即可: (注意替换账号密码)

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Centos7.0下使用Docker的mysql_第3张图片

完成;

其他

1.可以启动多个MySQL服务,因为我们启动的是容器,容器可以有多个,只要容器名字映射段端口不一样就可以了,例如:

$ sudo docker run --name dbdb -e MYSQL_ROOT_PASSWORD=123456 -p 6666:3306 -d mysql

2.查看所有容器(启动状态或者关闭状态)

$ sudo docker ps -a

3.启动和关闭容器

启动命令:

$ sudo docker start pwc-mysql   //通过指定容器名字
$ sudo docker start d984982e3adf  //通过指定容器ID

关闭命令:

$ sudo docker stop pwc-mysql   //通过指定容器名字
$ sudo docker stop d984982e3adf//通过指定容器ID

3.修改MySQL配置文件有两种方法:

  • 一是进入容器,修改容器里的MySQL的配置文件,然后重新启动容器,例如:

    $ sudo docker exec -it pwc-mysql /usr/bin/bash

    然后可以进入容器的命令行模式,接着修改 /etc/mysql/my.cnf 文件即可

  • 二是挂载主机的mysql配置文件,官方文档如下:

    The MySQL startup configuration is specified in the file /etc/mysql/my.cnf, and that file in turn includes any files found in the /etc/mysql/conf.d directory that end with .cnf. Settings in files in this directory will augment and/or override settings in /etc/mysql/my.cnf. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as /etc/mysql/conf.d inside the mysql container.

    If /my/custom/config-file.cnf is the path and name of your custom configuration file, you can start your mysql container like this (note that only the directory path of the custom config file is used in this command):

    $ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

    This will start a new container some-mysql where the MySQL instance uses the combined startup settings from /etc/mysql/my.cnf and /etc/mysql/conf.d/config-file.cnf, with settings from the latter taking precedence.

参考资料:https://www.cnblogs.com/pwc1996/p/5425234.html

你可能感兴趣的:(Centos7.0,Mysql,Docker)