Да, вы можете. Коннекторы MySQL используют TCP для соединения, а в JS есть немного измененная версия TCP-клиента под названием Websocket. Но вы не можете напрямую подключиться к серверу MySQL через websocket. Вам понадобится какой-то сторонний мост между websocket и mysql. Он получает запрос от websocket, отправляет его в mysql, возвращает результат и отправляет его в JS.
И это мой пример моста, написанного на C # с websocket-sharp библиотекой:
class JSQLBridge : WebSocketBehavior
{
MySqlConnection conn;
protected override void OnMessage(MessageEventArgs e)
{
if (conn == null)
{
try
{
conn = new MySqlConnection(e.Data);
conn.Open();
}
catch (Exception exc)
{
Send(exc.Message);
}
}
else
{
try
{
MySqlCommand cmd = new MySqlCommand(e.Data, conn);
cmd.ExecuteNonQuery();
Send("success");
}
catch (Exception exc)
{
Send(exc.Message);
}
}
}
protected override void OnClose(CloseEventArgs e)
{
if (conn != null)
conn.Close();
}
}
JS сторона:
var ws = new WebSocket("ws://localhost/");
ws.send("server=localhost;user=root;database=mydb;");
ws.send("select * from users");