[英]Error while connecting to mysql database, haskell
I'm absolutely newbie to haskell, but I need to write a simple application to work with DB. 我是haskell的新手,但我需要编写一个简单的应用程序来处理DB。 I'm reading realworldhaskell book, chapter about using databases: http://book.realworldhaskell.org/read/using-databases.html . 我正在阅读realworldhaskell书,关于使用数据库的章节: http : //book.realworldhaskell.org/read/using-databases.html 。 I've installed HDBC and HDBC-mysql and trying to run: 我安装了HDBC和HDBC-mysql并尝试运行:
ghci> :module Database.HDBC Database.HDBC.MySQL
but receive error 但收到错误
attempting to use module ‘Database.HDBC.MySQL’ (./Database/HDBC/MySQL.hs) which is not loaded.
Does someone have some idea how to fix it and by what is is caused? 有人知道如何修复它以及造成的是什么? Thanks! 谢谢!
I could solve the problem installing mysql on MacOS, 我可以解决在MacOS上安装mysql的问题,
brew install mysql
mysql.server start ## mysqld
Followed by 其次是
cabal install HDBC
cabal install HDBC-mysql
Then could I create MySQL connection, 然后我可以创建MySQL连接,
import Control.Monad
import Database.HDBC
import Database.HDBC.MySQL
main = do conn <- connectMySQL MySQLConnectInfo {
mysqlHost = "localhost",
mysqlUser = "root",
mysqlPassword = "",
mysqlDatabase = "chat_server",
mysqlPort = 3306,
mysqlUnixSocket = "/tmp/mysql.sock",
mysqlGroup = Just "test"
}
rows <- quickQuery' conn "SELECT 1 + 1" []
forM_ rows $ \row -> putStrLn $ show row
Note: you might need to update mysqlUnixSocket
based on where is it located which can be found with following command: 注意:您可能需要根据mysqlUnixSocket
在的位置更新mysqlUnixSocket
,可以使用以下命令找到它:
sudo find / -type s
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.