[MCOL-3722] Connect to unix socket file as mysql@localhost user account by default for Columnstore cross-engine joins Created: 2020-01-10 Updated: 2020-03-11 Resolved: 2020-03-11 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | ExeMgr |
| Affects Version/s: | 1.4.2 |
| Fix Version/s: | Icebox |
| Type: | New Feature | Priority: | Major |
| Reporter: | Geoff Montee (Inactive) | Assignee: | Todd Stoffel (Inactive) |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Epic Link: | ColumnStore Compatibility Improvements | ||||
| Description |
|
Currently, for Columnstore's cross-engine joins, the default behavior is that it connects to the server using TCP/IP as the root@127.0.0.1 user account (aka root@localhost if skip_name_resolve is not configured) without a password:
This does not work in MariaDB Enterprise Server 10.4, because the root@localhost user does not allow password-less authentication by default anymore:
One potential solution would be to make the following changes:
This should allow passwordless access for cross-engine joins, because MariaDB Enterprise Server 10.4 creates a mysql@localhost user account that allows unix socket authentication:
And of course, the mysqld process runs as the mysql OS user by default:
So if Columnstore's threads also run as the mysql OS user, then those threads should be able to use unix socket authentication as the mysql@localhost user account without any problems. |
| Comments |
| Comment by Todd Stoffel (Inactive) [ 2020-01-11 ] |
|
Cross engine join only requires SELECT permissions. Maybe we can create a CEJ default user? However, cross engine join doesn't even need to be connecting to the same cluster if I am reading the documentation correctly. In which case this may be a manual step to configure. LinuxJedi Maybe this could be done with postConfigure? In the meantime we need to make sure the instructions are documented well for anyone using 10.4 and ColumnStore. |
| Comment by Todd Stoffel (Inactive) [ 2020-03-11 ] |
|
Cross engine join support should probably be moved inside the server/engine and not via an outside TCP connection. |