LOADING

加载过慢请开启缓存 浏览器默认开启

个人博客部署教程(动态页面)

2023/4/1

发布一个基于wordpress的动态博客搭建

Mysql的使用

注:该笔记由chatgpt生成

ubuntu安装Mysql

好的,以下是在Ubuntu 20.04上安装MySQL的步骤:

  1. 打开终端并更新包列表:

    1
    sudo apt update
  2. 安装MySQL Server软件包:

    1
    sudo apt install mysql-server

    在此过程中,您可能会被要求设置MySQL root用户的密码。请记住此密码,因为您将需要在以后访问MySQL数据库时使用它。

  3. 确认MySQL Server已启动:

    1
    sudo systemctl status mysql

    如果MySQL Server已启动,您将看到一条消息,其中包含active (running)字样。如果未启动,则可以使用以下命令启动它:

    1
    sudo systemctl start mysql
  4. 确认MySQL Server会在系统启动时自动启动:

    1
    sudo systemctl enable mysql

    如果成功设置,您将看到一条消息,其中包含Created symlink字样。

  5. 选择性地,您可以运行MySQL安全性脚本,以加强MySQL服务器的安全性:

    1
    sudo mysql_secure_installation

    在运行此脚本期间,您将被要求执行以下操作:

    • 更改root用户的密码(如果您没有在安装期间设置密码)
    • 删除匿名用户
    • 禁用root用户的远程登录
    • 删除测试数据库
    • 刷新特权表

    这些步骤可以帮助保护您的MySQL服务器。

现在,您已经成功安装了MySQL Server。您可以使用以下命令连接到MySQL服务器:

1
mysql -u root -p

如果没有在-p后输入密码,这将提示您输入MySQL root用户的密码。

输入密码后,您将看到MySQL命令行提示符,您可以在此处执行MySQL命令。

添加新用户以访问Mysql

当您在Ubuntu 20.04上安装了MySQL后,默认情况下只能使用root用户访问MySQL数据库。如果您希望其他用户能够访问MySQL数据库,则需要创建一个新的MySQL用户并授予该用户访问权限。

下面是创建新用户并为其授予访问权限的步骤:

  1. 以root用户身份登录到MySQL:

    1
    sudo mysql -u root -p
  2. 创建新的MySQL用户:

    1
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

    在此命令中,

    • newuser替换为您想要创建的用户名,

    • password替换为您为该用户设置的密码。

    请注意,您必须指定“@localhost”,以便该用户仅能在本地访问MySQL服务器。

    另附:删除用户

    1
    2
    DROP USER 'username'@'localhost';
    FLUSH PRIVILEGES;
  3. 为新用户授予访问权限:

    1
    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';

    在此命令中,*.*表示授予该用户访问所有数据库和表的权限。如果您只想授予该用户访问特定数据库或表的权限,则需要更改此命令。(关于Grant授权命令)

  4. 刷新特权表:

    1
    FLUSH PRIVILEGES;

    这将确保MySQL服务器立即更新新用户的特权。

  5. 退出MySQL:

    1
    exit

现在,新用户已被创建并授予访问MySQL数据库的权限。该用户可以使用以下命令连接到MySQL服务器:

1
mysql -u newuser -p

这将提示该用户输入其MySQL密码。然后,该用户可以在MySQL命令行提示符处执行MySQL命令。

远程访问Mysql

如果您想允许用户从远程访问MySQL服务器,可以按照以下步骤执行:

  1. 以root用户身份登录到MySQL:

    1
    sudo mysql -u root -p
  2. 创建新用户:

    1
    CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

    在此命令中,将newuser替换为您想要创建的用户名,将password替换为您为该用户设置的密码。

    请注意,您必须指定@%,以便该用户能够从任何远程IP地址访问MySQL服务器。

  3. 授予新用户访问权限:

    1
    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

    在此命令中,*.*表示授予该用户访问所有数据库和表的权限。如果您只想授予该用户访问特定数据库或表的权限,则需要更改此命令。将“newuser”替换为您创建的用户名。

  4. 刷新特权表:

    1
    FLUSH PRIVILEGES;

    这将确保MySQL服务器立即更新新用户的特权。

  5. 修改MySQL配置文件:

    1
    sudo vim/nano /etc/mysql/mysql.conf.d/mysqld.cnf

    在该文件中,找到以下行:

    1
    bind-address = 127.0.0.1

    将其改为:

    1
    bind-address = 0.0.0.0

    这将允许MySQL服务器监听所有IP地址。

  6. 重启MySQL服务器:

    1
    sudo systemctl restart mysql

现在,新用户已被创建并授予从任何远程IP地址访问MySQL服务器的权限。该用户可以使用以下命令在其他云服务器上连接到MySQL服务器:

1
mysql -u newuser -p -h server_ip_address

在此命令中,server_ip_address是MySQL服务器的公共IP地址(别忘了打开云服务器的3306端口)。

在自己的云服务器上部署个人博客网站

在云服务器上安装和配置mysql

参见上面的教程

使用另外一台设备远程访问mysql

注:仅仅是为了测试远程访问(网络的连通性)

部署wordpress的docker

wordpress简介

​ WordPress是一款流行的自由开源的内容管理系统(CMS),它可以用于创建各种类型的网站,如博客、新闻门户、电子商务网站等。它基于PHP编程语言,使用MySQL数据库来存储内容和设置。WordPress提供了一个可定制的用户界面,让用户可以轻松地添加、编辑和发布内容。它还支持丰富的插件和主题生态系统,这些插件和主题可以扩展和改变网站的外观和功能。

​ 除此之外,WordPress还具有强大的社区支持,提供了大量的文档、视频教程、论坛和博客文章,帮助用户解决问题并了解如何更好地利用WordPress创建网站。

​ 总之,WordPress是一款功能强大、易于使用、可扩展的CMS,它可以帮助用户快速创建高质量的网站,并满足不同类型的网站需求。

启动wordpress的docker

有两种启动方式:

  1. 命令行-e后接wordpress的环境变量(更多内容参考docker hub上面的介绍,本篇使用这种方式)
  2. 使用docker-compose.yml的方式启动

先拉取wordpressdocker镜像

  1. 直接拉取
1
docker pull wordpress
  1. cloud_computing中拉取(需要注册一个docker hub的账号)
1
docker pull cloud_computing/wordpress

创建wordpress container并启动

1
docker run --rm -d -p 8000:80 -p 49153:443 --name myWordpress wordpress
  1. --rm:停止该镜像时会直接删除镜像
  2. -p:映射端口号(服务器/本机端口:虚拟机端口)
  3. --name:镜像名称
  4. 最后加上想要使用的docker镜像名

注:这里没有使用-e环境变量来告诉wordpress docker使用哪个数据库,因此在首次访问IP:8000时会叫你填写(后面会再提)

部署mysql的docker

先拉取mysqldocker镜像(这里使用mysql8.0

1
docker pull mysql:8.0

创建mysql container并启动

1
docker run --rm -d -p 33160:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:8.0
  1. 3306是外部访问MySQL的端口,需要映射到服务器端口33160(随便一个端口就行,只要在安全组中打开即可)
  2. -emysql docker的环境变量

进入mysql01容器中,创建wordpress数据库

1
2
3
docker exec -it mysql01 /bin/bash
mysql -uroot -p123456
create database wordpress;

访问IP(云主机IP):8000以完成最后部署

首次进入会出现以下内容,填写即可:

image-20230325111224452 image-20230325111303761

至此,就完成了wordpress的全部部署,该部署方案使用了docker数据库,安全性较高。