Definition of support of sheaf of sets in Vakil’s the rising sea In Vakil’s the Rising sea, Fundamental of Algebraic Geometry,
August 29, 2022 version, Section 2.7, in page 94, I saw a definition for the support of a sheaf of sets

Define the support of a sheaf $\mathscr{G}$ of sets, denoted Supp $\mathscr{G}$, as the locus where the stalks are nonzero:
$\operatorname{Supp} \mathscr{G}:=\left\{p \in X:\left|\mathscr{G}_p\right| \neq 0\right\}$.
Equivalently, $\operatorname{Supp} \mathscr{G}$ is the union of supports of sections over all open sets.

I am quite confused with this definition and also its equivalent statement. Since $\mathscr{G}$ is a sheaf of sets, so is $\mathscr{G}_p$ for $p \in X$. Then $|\mathscr{G}_p|=0$ means it’s an empty set. Then it means for any point $p$ not in $\operatorname{Supp} \mathscr{G}$ and any open set $U$ contained $p$, $\mathscr{G}(U)$ should be empty set. Such an condition seems weird to me, I cannot even figure out an example such that $\operatorname{Supp} \mathscr{G} \ne X$ for some sheaf $\mathscr{G}$ of sets.
And the equivalent statement seems confused too. Vakil defines support of a section only for sheaf of abelian groups, or other “abelian group”-liked objects containing an $0$:

2.7.6. Definition. Suppose $\mathscr{F}$ is a sheaf (or indeed separated presheaf) of abelian groups on $X$, and $s$ is a global section of $\mathscr{F}$. Define the support of the section $s$, denoted $\operatorname{Supp} s$, to be the set of points $p$ of $X$ where $s$ has a nonzero germ:
$\operatorname{Supp} s :=\left\{p \in X: s_p \neq 0 \text{ in } \mathscr{F}_p\right\}$

With this definition only for sheaf of abelian groups, how can “$\operatorname{Supp} \mathscr{G}$ is the union of supports of sections over all open sets.” holds?
How can I interpret the definition of the support of sheaf of sets and its equivalent statement? Is it some kind of mistake here? Should the definition also be in the context of sheaf of abelian groups and $|\mathscr{G}_p| \neq 0$ be changed to $\mathscr{G}_p \neq \{0\}$? In such a modification it seems consistent  with the equivalent statement.
Thanks for everyone’s help.
 A: The following claim in your post is not correct:

Then it means for any point $p$ not in Supp $\mathscr{G}$ and any open set $U$ contained $p$, $\mathscr{G}(U)$ should be empty set.

There needs to be a cofinal system of open neighborhood $U$ of $p$ where $\mathscr{G}(U)=\varnothing$ in order for $\mathscr{G}_p=\varnothing$, but there's no reason for this to be true for all open neighborhoods of $p$. For instance, consider a discrete two point space $\{p,q\}$ and the sheaf of sets $\mathscr{G}$ given by assigning $\mathscr{G}(\{p\})=\varnothing$ and $\mathscr{G}(\{q\})=\{1\}$. Then $\mathscr{G}(\{p,q\})=\{1\}\neq\varnothing$.

To see how the support of a sheaf of abelian groups is the union of the support of the sections, note that if $\mathcal{F}$ is a sheaf of abelian groups, then $\mathcal{F}_p\neq 0$ implies there's some element $s_p\in\mathcal{F}_p$ which is not zero. Now lift $s_p$ to a local section $s\in\mathcal{F}(U)$ for some open neighborhood $U$ of $p$ by the definition of stalks. Therefore $\operatorname{Supp}\mathcal{F} \subset \bigcup_{\text{all sections } s} \operatorname{Supp}(s)$. To show the reverse inclusion, if $p$ is a point in the support of a section $s\in\mathcal{F}(U)$, then $s_p\neq 0$ in $\mathcal{F}_p$, so $\mathcal{F}_p\neq 0$.
Finally, you're correct that the definition in the case of sheaves of abelian groups should be that $p$ is in the support iff $\mathscr{G}_p$ is not the zero group.
