今天给大家介绍一下使用docker部署MySQL,后面还有怎么部署WordPress或zblog等博客搭建教程,当然前提是部署好数据库。
一、手动部署
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部署MySQL
连接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';
-
其中 ‘newuser’ 是用户名,’%’ 表示允许从任何主机连接,’password’ 是用户的密码。
2、授予全部权限:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
-
*.* 表示所有数据库的所有表,GRANT ALL PRIVILEGES 授予用户全部权限。
3、刷新权限:
FLUSH PRIVILEGES;