There are several different "definitions" of Calabi-Yau manifolds, not all equivalent, and not all contained in one general definition. A good discussion of some of these inequivalent definitions can be found in Joyce's book:
Compact Manifolds with Special Holonomy
The other answers you have gotten so far seem to be from the algebraic geometry side of things, and are fine in that context. From a Riemannian geometry point of view, the most natural definition of a Calabi-Yau manifold (whether compact or non-compact) is a $2n$-dimensional Riemannian manifold for which the holonomy of the Levi-Civita connection is exactly $SU(n)$. Allowing the holonomy to be a proper subgroup of $SU(n)$ is also common. In that case, hyperKahler (which is holonomy $Sp(n/2)$ in dimension $4n$) can also be considered as being Calabi-Yau, for example.
This Riemannian geometry definition is equivalent to the existence of the "Calabi-Yau package": a Riemannian metric $g$, an integrable complex structure $J$ (orthogonal with respect to $g$) together which induce the associated Kahler form $\omega$ by $\omega(X,Y) = g(JX, Y)$, and a holomorphic volume form $\Omega$, which is a holomorphic $(n,0)$-form on $M$. These tensors must satisfy:
(1) $\nabla \omega = 0$ (equivalent to $\nabla J = 0$, the Kahler condition) This is also equivalent to $d\omega = 0$ because we are assuming $J$ to be integrable.
(2) $\nabla \Omega = 0$
(3) $\frac{\omega^n}{n!} = c_n \, \Omega \wedge \bar \Omega$ for some universal constant $c_n$ depending only on the dimension which I can never remember.
These conditions imply, in particular that $g$ is Ricci-flat and $c_1(M) = 0$. Also, if the holonomy is exactly $SU(n)$ rather than a proper subgroup, then it also follows that $h^{p,0} = h^{0,p} = 0$ for all $1 \leq p \leq n-1$.