You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description="Use ssl connection or not. The default value is `ENABLED` because MySQL uses `caching_sha2_password` by default and the driver MySQLdb support caching_sha2_password with ssl only.",
Copy file name to clipboardExpand all lines: ibis-server/docs/development.md
+20
Original file line number
Diff line number
Diff line change
@@ -92,3 +92,23 @@ If you encounter this error, you can add the `TrustServerCertificate` parameter
92
92
}
93
93
}
94
94
```
95
+
96
+
### No driver for MySQL Server
97
+
98
+
If you want run tests related to MySQL Server or connect to MySQL through Wren Engine, you need to install the MySQL client libraries (e.g. `libmysqlclient`) by yourself.
99
+
- For linux, you can install `libmysqlclient-dev`. By the way, there are some different names for different linux versions. You should take care about it.
100
+
- For Mac, you can install `mysql-connector-c`
101
+
- For Windows, you can dowanload [the libraries](https://dev.mysql.com/downloads/c-api)
102
+
103
+
104
+
### Connect MySQL without SSL
105
+
106
+
By default, SSL mode is enabled and uses `caching_sha2_password` authentication, which only supports SSL connections. If you need to disable SSL, you must set SSLMode to DISABLED in your connection configuration to use `mysql_native_password` instead.
# We disable SSL for this container to test SSLMode.ENABLED.
121
+
# However, Mysql use caching_sha2_password as default authentication plugin which requires the connection to use SSL.
122
+
# MysqlDB used by ibis supports caching_sha2_password only with SSL. So, we need to change the authentication plugin to mysql_native_password.
123
+
# Before changing the authentication plugin, we need to connect to the database using caching_sha2_password. That's why we use pymysql to connect to the database.
124
+
# pymsql supports caching_sha2_password without SSL.
125
+
conn=pymysql.connect(
126
+
host="127.0.0.1",
127
+
user="root",
128
+
passwd="test",
129
+
port=int(mysql.get_exposed_port(mysql.port)),
130
+
)
131
+
132
+
cur=conn.cursor()
133
+
cur.execute(
134
+
"ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test';"
0 commit comments