发布一个基于wordpress的动态博客搭建
Mysql的使用
注:该笔记由chatgpt生成
ubuntu安装Mysql
好的,以下是在Ubuntu 20.04上安装MySQL的步骤:
打开终端并更新包列表:
1
sudo apt update
安装MySQL Server软件包:
1
sudo apt install mysql-server
在此过程中,您可能会被要求设置MySQL root用户的密码。请记住此密码,因为您将需要在以后访问MySQL数据库时使用它。
确认MySQL Server已启动:
1
sudo systemctl status mysql
如果MySQL Server已启动,您将看到一条消息,其中包含
active (running)
字样。如果未启动,则可以使用以下命令启动它:1
sudo systemctl start mysql
确认
MySQL Server
会在系统启动时自动启动:1
sudo systemctl enable mysql
如果成功设置,您将看到一条消息,其中包含
Created symlink
字样。选择性地,您可以运行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用户并授予该用户访问权限。
下面是创建新用户并为其授予访问权限的步骤:
以root用户身份登录到MySQL:
1
sudo mysql -u root -p
创建新的MySQL用户:
1
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
在此命令中,
将
newuser
替换为您想要创建的用户名,将
password
替换为您为该用户设置的密码。
请注意,您必须指定“@localhost”,以便该用户仅能在本地访问MySQL服务器。
另附:删除用户
1
2DROP USER 'username'@'localhost';
FLUSH PRIVILEGES;为新用户授予访问权限:
1
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
在此命令中,
*.*
表示授予该用户访问所有数据库和表的权限。如果您只想授予该用户访问特定数据库或表的权限,则需要更改此命令。(关于Grant
授权命令)刷新特权表:
1
FLUSH PRIVILEGES;
这将确保MySQL服务器立即更新新用户的特权。
退出MySQL:
1
exit
现在,新用户已被创建并授予访问MySQL数据库的权限。该用户可以使用以下命令连接到MySQL服务器:
1 | mysql -u newuser -p |
这将提示该用户输入其MySQL密码。然后,该用户可以在MySQL命令行提示符处执行MySQL命令。
远程访问Mysql
如果您想允许用户从远程访问MySQL服务器,可以按照以下步骤执行:
以root用户身份登录到MySQL:
1
sudo mysql -u root -p
创建新用户:
1
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
在此命令中,将
newuser
替换为您想要创建的用户名,将password
替换为您为该用户设置的密码。请注意,您必须指定
@%
,以便该用户能够从任何远程IP地址访问MySQL服务器。授予新用户访问权限:
1
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
在此命令中,
*.*
表示授予该用户访问所有数据库和表的权限。如果您只想授予该用户访问特定数据库或表的权限,则需要更改此命令。将“newuser”替换为您创建的用户名。刷新特权表:
1
FLUSH PRIVILEGES;
这将确保MySQL服务器立即更新新用户的特权。
修改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地址。
重启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
有两种启动方式:
- 命令行
-e
后接wordpress
的环境变量(更多内容参考docker hub
上面的介绍,本篇使用这种方式) - 使用
docker-compose.yml
的方式启动
先拉取wordpress
的docker
镜像
- 直接拉取
1 | docker pull wordpress |
- 从
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 |
--rm
:停止该镜像时会直接删除镜像-p
:映射端口号(服务器/本机端口:虚拟机端口)--name
:镜像名称- 最后加上想要使用的
docker
镜像名
注:这里没有使用-e
环境变量来告诉wordpress docker
使用哪个数据库,因此在首次访问IP:8000
时会叫你填写(后面会再提)
部署mysql的docker
先拉取mysql
的docker
镜像(这里使用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 |
3306
是外部访问MySQL
的端口,需要映射到服务器端口33160
(随便一个端口就行,只要在安全组中打开即可)-e
是mysql docker
的环境变量
进入mysql01
容器中,创建wordpress
数据库
1 | docker exec -it mysql01 /bin/bash |
访问IP(云主机IP):8000以完成最后部署
首次进入会出现以下内容,填写即可:


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