在云服务器上使用docker安装mysql的步骤:
1、安装docker
远程连接阿里云,或者在阿里云控制台直接远程连接,确保成功安装docker。
2、启动docker
使用如下命令:
sudo systemctl start docker
3、搜索mysql镜像
使用如下命令:
docker search mysql
如果要查看mysql镜像的版本:
另外如果不使用命令的方式查看tag的话也可以打开浏览器,访问如下网址https://hub.docker.com/_/mysql?tab=tags进行获取。
4、拉取mysql镜像
使用如下命令拉取最新版的mysql数据库:docker pull mysql:latest
或拉取指定版本的数据库(5.7版本):docker pull mysql:5.7
或拉取指定版本的数据库(8.0.16版本):docker pull mysql:8.0.16
查看docker镜像:
5、创建外部配置和数据目录
(1)创建配置目录和数据目录
mkdir project
mkdir project/docker
mkdir project/docker/mysql22
mkdir project/docker/mysql22/conf
mkdir project/docker/mysql22/data
(2)创建my.cnf配置文件
touch /docker/mysql8/conf/my.cnf
(3)编辑my.cnf配置文件,vi进入编辑模式,按i开始输入,esc然后 :wq 保存。
vi my.cnf
[mysqld]
#设置表名不区分大小写,linux默认是区分的,windows默认不区分
lower_case_table_names=1
#允许最大连接数
max_connections=200
#允许连接失败的次数
max_connect_errors=5
#服务端使用的字符集默认为UTF8MB4
character-set-server=UTF8MB4
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[client]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysql]
default-character-set=UTF8MB4
6、创建mysql容器,启动该容器
docker run --name -d mysql22 --privileged=true --restart=always -p 3307:3306 -v /project/docker/mysql22/data:/var/lib/mysql -v /project/docker/mysql22/my.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
注意:
--name mysql22 name后面的“mysql22”是docker的容器名(可以自定义),每个容器都只有一个唯一的容器名,docker可以根据一个镜像创建多个容器。
-d --detach,守护态运行,后台运行。
--privileged=true 容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限。
--restart=always 当Docker 重启时,容器会自动启动。
-p 3307:3306 映射容器服务的 3306 端口到宿主机的 3307 端口,外部主机可以直接通过 宿主机ip:3307 访问到 MySQL 的服务。p是port(端口)的缩写。
-e MYSQL_ROOT_PASSWORD=123456 是设置mysql的root的初始密码为“123456”,建议修改为更安全的密码。
-v /project/docker/mysql8/data:/var/lib/mysql 映射mysql数据目录。
-v /project/docker/mysql8/conf/my.cnf:/etc/my.cnf 映射mysql配置文件。
mysql:latest 是你的镜像标签,使用最新版本的mysql镜像来创建容器。
6、查看所有容器
docker ps是查看正在运行的容器,docker ps -a是查看所有容器(-a是all的缩写)。