
1、下载镜像
在fnOS自带镜像仓库搜索:mysql 第一个就是

2、创建文件夹
在你想要的位置创建mysql文件夹,并且在mysql文件夹里面创建data和log文件夹

3、添加容器
打开桌面的docker找到容器,点击右上角的添加容器 容器名称、资源限制任意即可、开机自动开启打钩

4、高级设置:
端口设置:容器端口3306映射到本地3306端口,33060端口可以删可以保留,暂时不用不到
储存位置:分别把前面创建的data和log文件夹分别映射到/var/lib/mysql和/var/log/mysql如下图照抄就行

环境变量:添加3个变量
# root数据库密码变量
MYSQL_ROOT_PASSWORD=as123456
# 字符编码变量
MYSQL_CHARACTER_SET_SERVER=utf8mb4
MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci按图照抄,把代码复制进去,只有MYSQL_ROOT_PASSWORD后面的asd123456是数据库root的登录密码自己换成你自己的密码

其他都保持默认,设置好下一步创建完成即可 6、创建数据表
找到容器,进入终端

点击/bin/bash连接

依次输入以下命令
进入容器
# 下面代码mysql是容器名称,根据自己创建的名称修改
mysql -u root -p输入部署的时候设置的root密码
运行以下代码,允许 root 用户将自己拥有的权限授予其他用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;刷新权限
# 运行以下命令以确保权限生效:
FLUSH PRIVILEGES;
创建数据表
# 下面代码boke就是数据库名,只有在数据库不存在时才创建 boke数据库,防止重复创建引起错误。
CREATE DATABASE IF NOT EXISTS boke;**如果今后部署博客填入数据库内 数据库名:boke 用户名:root 密码:就是前面设置的root密码**
连接ssh终端,进入sudo -i 使用以下命令
/vol1/1000/docker/MySQL/data和/vol1/1000/docker/MySQL/log换成你自己的路径,其中asd123456换成你自己的root密码
docker run --name mysql-server \
-d \
-p 3306:3306 \
-v /vol1/1000/docker/MySQL/data:/var/lib/mysql \
-v /vol1/1000/docker/MySQL/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=asd123456 \
-e MYSQL_CHARACTER_SET_SERVER=utf8mb4 \
-e MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci \
mysql:latest进入容器
# 下面代码中第一个mysql是容器名称,根据自己创建的名称修改
docker exec -it mysql mysql -u root -p**输入部署的时候设置的root密码 SSH部署除了进入容器代码不一样,其他的和前面的一样,当然SSH部署好之后也可以使用前面的方式创建数据库** 运行以下代码,允许 root 用户将自己拥有的权限授予其他用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
刷新权限
# 运行以下命令以确保权限生效:
FLUSH PRIVILEGES;创建数据表
# 下面代码boke就是数据库名,只有在数据库不存在时才创建 boke数据库,防止重复创建引起错误。
CREATE DATABASE IF NOT EXISTS boke;**如果今后部署博客填入数据库内 数据库名:boke 用户名:root 密码:就是前面设置的root密码**
如果感觉使用root用户不安全也可以单独创建用户使用 1、创建用户并设置密码:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';2、授予全部权限:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';3、刷新权限:
FLUSH PRIVILEGES;