我正在使用 mysql-connector-c++ 1.1.9 但我想通过套接字而不是 tcp 连接到 mysql 数据库
I'm using mysql-connector-c++ 1.1.9 but I'd like to connect to the mysql db via socket not tcp
库是否允许通过套接字连接到数据库,或者您是否必须使用 tcp,如果是,有人知道正确的格式吗?
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("/var/run/mysql/mysql.sock", "user1", "passphrase");
我刚收到数据库拒绝的连接
# ERR: Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused") (MySQL error code: 2003, SQLState: HY000 )
根据documentation,connect()
的第一个参数应该是URL的形式,unix:
协议用于引用Unix -域套接字。所以应该是:
con = driver->connect("unix:///var/run/mysql/mysql.sock", "user1", "passphrase");
我猜它在无法解析参数时默认为tcp://127.0.0.1
。
试试 :
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("unix:///var/run/mysql/mysql.sock", "user1", "passphrase");
检查 unix 套接字文件是否正常工作。
库是否允许通过套接字连接到数据库,或者您是否必须使用 tcp,如果是,有人知道正确的格式吗?
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("/var/run/mysql/mysql.sock", "user1", "passphrase");
我刚收到数据库拒绝的连接
# ERR: Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused") (MySQL error code: 2003, SQLState: HY000 )
根据documentation,connect()
的第一个参数应该是URL的形式,unix:
协议用于引用Unix -域套接字。所以应该是:
con = driver->connect("unix:///var/run/mysql/mysql.sock", "user1", "passphrase");
我猜它在无法解析参数时默认为tcp://127.0.0.1
。
试试 :
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("unix:///var/run/mysql/mysql.sock", "user1", "passphrase");
检查 unix 套接字文件是否正常工作。