Some questions about PXC bootstrap

If I start the first pxc node boostrap to copy data with myloader, but I don’t have any second node to add at the moment, what is the proper way to go?

  1. start bootstrap->myloader->shutdown and restart without bootstrap->link second node with bootstrap off when is ready
  2. start boostrap->myloader->keep server running in bootstrap mode->link second node->restart 1st node without boostrap
  3. just install percona-server classic whle it’s only one node, then remove classic and install pxc on top of the same data folder when i’ll have the new nodes to setup.

Can I skip boostrapping completely if I compile the node ip by hand in the config?
Does bootstrapping automatically add the nodes ip to mysqld.conf when a new node joins or do I have to edit the conf and restart it after?

Also I’m getting [WSREP] MDL conflict db=xxx table=yyy ticket=10 solved by abort on a specific table import during myloader, can I safely ignore this when bootsrapping the first node?

If you use option 1, you won’t be able to start “without bootstrap”. Bootstrapping is how you start a cluster. If all nodes are down, even if the cluster was working before, you must always bootstrap the first node.

Option 2 is the correct way.

No.

Yes

I would do some deeper investigation as to what metadata lock is being aborted. Try using less threads on myloader, or tell myloader to create all the tables first, before importing data.

Thanks. I understood now that bootstrapping is always necessary when all nodes go down
How about the
3. just install percona-server classic whle it’s only one node, then remove classic and install pxc on top of the same data folder when i’ll have the new nodes to setup.
This would be my preferred way to go.
Can I just install percona-server-server, move all the DBs, and later apt remove percona-server-server/apt install percona-xtradb-cluster using the same data folder when I’m ready to bootstrap a cluster. Because probably it will run alone for a week or so.

I would not mess with that. If you are going to PXC, then go to PXC from the beginning, even if only 1 node. It’s not hurting anything, and you won’t have to take an outage again to do the package swap.

Ok, I’ll start a single node in bootstrap mode and run myloader on it. Then keep it that way until a second node joins. After that, wait for SST sync, and then restart it normally. Correct?
Can I compile wsrep_cluster_address after that? Or should I just keep it always empty since, in the worst case, this will be the node to bootstrap every time?

About separating write/read with proxysql: is enough to just add the only server I want to handle read to the writer_hostgroup? or do I have to setup query_rules too?
I have 2 nodes: one will be write+read, the other always read only (read_only=1).
Is using the 2 hostgroup enough? I don’t want proxysql to accidentally promote the read only one to writer.

bootstrap process ignores this line. keep it populated.

Thanks. What about this part?