memsql-deploy cluster-in-a-box --license LICENSE fails with
error running memsqlctl: error running command: `"/usr/bin/sudo" "-S" "-k" "--" "/bin/sh" "-c" "'printf' '87793e3c-c202-4c2a-a527-0aa68b07631c' && 'exec' 'memsqlctl' '--json' '--yes' 'create-node' '--port' '3306' '--secure-password' 'ASECUREPASSWORD '--timeout' '60s'"`: exit status 1
stderr: [sudo] password for admin: Latest errors from MemSQL tracelog:
97 2019-12-10 22:58:26.698 INFO: Log opened
: Failed to connect to MemSQL: Could not establish connection: Error 1045: Access denied for user 'root'@'localhost' (using password: NO)
I also have mysqld running on 3306 and have read the other solved thread about this but memsql support told me that running memsql on port 3306 is just fine because MySQL and MemSQL are wire compatible.
What I want to achieve is running MemSQL and MySQL together and use the mysql driver to connect to MemSQL, so I can use MemSQL database for wordpress websites.
MySQL and MemSQL can run alongside without an issue if they use different ports.
You might be hitting an issue when both MySQL and MemSQL try to use the same port (3306).
On Linux only one process can listen on a port. If mysql is using 3306, MemSQL cannot use the port.
If that is the case, this is a confusing error message that we’ll likely fix soon.
You can use netstat -tunlp to to find what ports are being used.
I was already suspecting that this must be the case… Now how can I finish the deployment of MemSQL? The port of MemSQL must be changed for the deployment as I don’t have the possibility to run MySQL on a different port as it is connected to multiple different systems.
The easiest way to get memSQL running is likely to sign up for a Helios cluster:
Further, if that is not an option, consider using the standard memsql-tools deployment guide:
This will let you deploy each node on a given host (and you can deploy a master aggregator + single leaf as the smallest cluster) and specify ports you want to be used.
In particular, during one of the steps in the guide you use the memsql-admin create-node command. This command lets you specify a port:
Well, then can you please provide a full guide on how to deploy it the same way cluster-in-a-box deploys it? I simply need to change the port, to give it a first test if it could be something for us… I am completely new to this and all the links you posted me above don’t really help right now.
Unfortunately the simpler cluster-in-a-box install does not support custom ports. As Hristo mentioned, you can follow the “Comprehensive” installation guide (SingleStoreDB Cloud · SingleStore Documentation) and use the --port option when you get to the memsql-admin create-node step. This installation guide works for both single host and multiple hosts.
How can I now create a database and use the mysql-driver to connect to the memsql database?
Also: It says “2 units allocated of 4 available”, this means I could add another 2 leafs, correct? Does adding more leafs bring more performance when it comes to the databases overall speed for all operations?
And: I understand it is a “memory database”, but through some magic it will also persist the database. Can I be sure the data will always be safe if using it as a backbone for wordpress websites?