作者文章归档:zuojie@88.com

什么是分库分表?


1.什么是分库分表?

简单的说就是,通过某种特定的条件,将我们存放在共一个数据库中的数据分散存放到多个数据库(主机)上,以达到分散单台设备负载的效果。

分库:就是一个数据库分成多个数据库,部署到不同机器。

图片

分表:就是一个数据库表分成多个表。

图片

2.为什么需要分库分表?

2.1为什么需要分库呢?

如果业务量剧增,数据库可能会出现性能瓶颈,这时候我们就需要考虑拆分数据库。从这几方面来看:

磁盘存储

  • 业务量剧增,MySQL单机磁盘容量会撑爆,拆成多个数据库,磁盘使用率大大降低。

并发连接支撑

  • 我们知道数据库连接是有限的。在高并发的场景下,大量请求访问数据库,MySQL单机是扛不住的...

阅读全文 →

MySQL 锁


一、锁的核心作用:解决并发冲突

锁是计算机协调多个进程或线程并发访问某一资源的机制。

在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

MySQL 的锁机制是保障数据一致性和并发性能的核心工具。它通过不同粒度、不同模式的锁,协调多个事务对数据的访问,避免脏读、幻读、丢失更新等问题。

数据库是多用户共享的资源,当多个事务(用户操作)同时访问同一数据时,可能引发:

    ...

阅读全文 →

Ubuntu 安装 NFS


Ubuntu 安装 NFS 共享目录详细步骤

NFS (Network File System) 是一种允许不同主机之间通过网络共享文件系统的协议。以下是详细的在 Ubuntu 上安装和配置 NFS 共享目录的方法,并附带示例。

1. 安装 NFS 服务

首先,在你的 Ubuntu 服务器上安装 NFS 服务器软件包。

sudo apt update
sudo apt install -y nfs-kernel-server

2. 配置 NFS 服务

创建一个目录作为共享目录。例如,我们使用 /mnt/nfs_share 作为共享目录。

sudo mkdir -p /mnt/nfs_...

阅读全文 →

使用Nginx+uWSGI部署Django项目


使用Nginx+uWSGI部署Django项目

Django是一个开源的Web应用框架,使用Python语言编写,主要用于搭建Web项目。本教程介绍如何在Linux服务器中使用Nginx+uWSGI部署Django项目。

步骤一:安装或核对Python版本

which python3 
ll /usr/bin/python*

回显信息类似如下所示。

user@localhost:~$ which python3 
/usr/bin/python3
user@localhost:~$ ll /usr/bin/python*
-rwxr-xr-x 1 root root 366203...

阅读全文 →

Ubuntu22.04部署-LNMP


步骤一:关闭防火墙

1.运行以下命令,检查防火墙当前状态。

sudo ufw status
  • 如果防火墙状态为Status: inactive,则表示防火墙为关闭状态。
  • 如果防火墙状态为Status: active,则表示防火墙为开启状态。

2.可选:关闭防火墙。

如果您的防火墙为开启状态,需要运行以下命令,关闭防火墙并关闭开机自启动防火墙。

sudo ufw disable

说明

如果您想重新开启防火墙并开启开机自启动防火墙,请运行sudo ufw enable命令。

步骤二:安装Nginx

1.运行以下命令,更新Ubuntu系统内的软件包。

sudo apt update
...

阅读全文 →

集群与分布式


网站架构

高并发集群

高可用集群

阅读全文 →

LAMP搭建WordPress


安装WordPress

WordPress是使用PHP语言开发的博客平台;

WordPress功能强大,插件众多,易于扩充功能。安装使用都非常方便。

使用 phpmyadmin 在 LAMP 里为 WordPress 创建并配置数据库

为了简单起见,可以直接去账号页新建一个用户来,同时创建同名的 database:

image-20240804184436754

用户名 wordpress,密码自由设定:

image-20240804184509352

点击右下角执行按钮之后,自动进入修改权限页面,不用细看,全部选择后,点击右下角执行:

image-20240804184545324

最后得到的数据库用户列表应该是这样的

image-20240804184632334

下载 WordPress

使用“百度”搜索到 WordPress 官网,下载安装文件:

http...

阅读全文 →

Apache基础入门


介绍

在这里插入图片描述

Apache是一个开源的Web服务器软件,全称为Apache HTTP Server,由Apache软件基金会开发和维护。Apache是世界上使用最广泛的一种Web服务器,支持基于HTTP、HTTPS的请求处理,是开发网站和Web应用程序的重要工具。

一、主要特点

  • 开源免费:阿帕奇服务器以开源的方式发布,任何人都可以免费获取和使用。

  • 跨平台:可在多个操作系统上运行,包括Windows、Linux、UNIX等,为不同平台的用户提供了便利。

  • 功能强大:采用模块化设计,用户可以根据需要选择和配置不同的模块,以满足特定的需求。同时,它支持多种编程语言,为开发者提供了丰富的...

阅读全文 →

Ubuntu22.04安装部署LAMP环境


LAMP环境是常用的Web开发环境之一,其中LAMP分别代表Linux、Apache、MySQL和PHP。

一、安装Apache

1.更新Ubuntu系统内的软件包。

sudo apt update

2.安装Apache。

sudo apt-get -y install apache2

3.查看Apache的版本。

apache2 -v

4.运行以下命令,启动Apache服务并设置服务开机自启动。

sudo systemctl start apache2
sudo systemctl enable apache2

5.运行以下命令,查看Apache服务状态。

sudo...

阅读全文 →

Ubuntu22.04部署DHCP服务


准备工作

# 切换root用户,以下所有操作使用root用户执行
su - 

# 关闭防火墙,linux服务默认开启防火墙,bind使用的端口为53,协议为TCP/UDP
# 查看ufw防火墙是否已启动  
ufw status    
# 关闭ufw防火墙
ufw disable   

# 配置好静态ip
vim /etc/netplan/00-installer-config.yaml 
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
    ...

阅读全文 →