結論から言うとNode.js単体だけでMySQLサーバと通信が可能です。
npmでmysql2のモジュールを導入してください。
https://www.npmjs.com/package/mysql2
使い方はこの辺の記事を読めば良いでしょう
node.js MySQLではなくMySQL2を使ったほうがいいみたい - CFAutoG 自動化
Node.jsは汎用スクリプト言語(RubyやPythonと同じジャンル)です。
元々Webブラウザ上でDOMを弄る為にしか使われないJavaScriptを、
Webブラウザ関係なく動かす為に魔改造して作られました。
Node.jsの用途の一つとしてWebサーバを構築する機能があります。
Apacheは静的ファイルを配信するWebサーバです。
特定のディレクトリに配信するファイルを設置して、Apacheを起動するだけで良いのでITエンジニア以外の方でも扱いやすい特徴があります。
また、長い歴史があり安定した動作をする事が特徴です。
現在、nodejsの勉強中なのですが、mysqlとの連携の際Apacheが必要だとサイトで書いてありました。
それは何処情報ですか?
質問者さんが記事の内容を勘違いして覚えていると考えられます。
Apacheとnodejsは同じWEBサーバーですよね?
違います。
RubyやPython、C言語、Java等にもWebサーバとして稼働させる仕組みがありますが、
それらも全て同じWebサーバですよね?→そんなわけねえだろって話です。
Node.jsは汎用スクリプト言語という概念が主、
その中にC10K問題を解消出来る優秀なWebサーバ機能が搭載されているという情報が従。
nodejsだけでmysqlを動かすことはできないんでしょうか?
MySQLはサーバとクライアントの2軸で操作するデータベースです。
そもそもNode.jsに限らす何の手段を用いたとしても「クライアント」は用意出来ますが、
「サーバ」は用意出来ないので別途MySQLサーバを立ち上げる等して用意する必要があります。
しかしNode.jsにもMySQLのクライアントはあるので
サーバさえ用意できれば、Node.js単体で通信可能です。
Apacheはそもそも静的ファイル(HTML、CSS、JS、画像ファイル等)を配信するだけのアプリなので
MySQLと通信するような機能は搭載されていません。
mod_php
等の外部モジュールを利用してPHPを稼働、PHP越しにMySQLクライアントを起動させて通信するような仕組みを考えてるのでしょうか?
まぁ必要ありません。
また、 nodejsの理解としてWEBサーバーを立ち上げられてなおかつサーバー言語も記述出来るというハイブリッドな言語だと認識しているのですが、認識は合ってますでしょうか?
「サーバ言語」とはなんでしょうか?
ググっても出てきませんでした。
最大限解釈して回答すると、
Apacheは明確な目的がある既製品なので出来る事が限られています。
まぁPHPと併用すれば大抵の事は可能ですが。
Node.jsにとってのWeebサーバは所詮Node.jsが内包している1機能でしかないので、
それに好きなコードやモジュールを組み込む事で無限のカスタマイズが可能です。
(コードは書いたようにしか動かないので、正常動作を保証する為に大いなる責任がつきまといますが)