Get the App
SLTechnology News&Howtos  ›  Database  › 

PXC5.7.21 for linux7.2 installation

Shulou Source: shulou.com Published: 2022-06-01 08:33:45 09月25日 Update

PXC installation is very simple!

-- Software download

Https://www.percona.com/downloads/Percona-XtraDB-Cluster-57/LATEST/

-- basic environmental preparation

[root@node2 ~] # vim / etc/hosts-add the following information to the 3-node hosts file

192.168.2.100 node1

192.168.2.200 node2

192.168.2.210 node3

[root@localhost] # rpm-e-- nodeps mariadb mariadb-server mariadb-libs marisa-- Uninstall

1, 3 nodes install dependency packages

Yum install-y git scons gcc* gcc-c++ openssl* check cmake bison\ boost-devel asio-devel libaio-devel ncurses-devel readline-devel pam-devel\ socat perl-time-hires perl-io-socket-ssl.noarch perl-dbd-mysql.x86_64

-- extract the package and install:

Note to download the package: remember to choose the ssl101 version, the official user manual has the following instructions

[root@localhost] # rpm-ivh libev-4.15-1.el6.rf.x86_64.rpm [root@localhost ~] # rpm-ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm [root@node1 ~] # tar zxvf Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl101.tar.gz-C / usr/local/ ^ C [root@node1 ~] # cd / usr/local/ [ Root@node1 local] # ln-s Percona-XtraDB-Cluster-5.7.21-rel20-29.26.1.Linux.x86_64.ssl101.tar.gz pxc_mysql

2. To create a user, please authorize [all three nodes] to create a new folder:

[root@localhost ~] # userdel mysql [root@localhost ~] # useradd-g mysql mysql [root@localhost ~] # passwd mysql [root@localhost ~] # mkdir-p / usr/local/pxc_mysql/ {data,logs,tmp} [root@localhost ~] # mkdir-p / usr/local/pxc_mysql/logs/ binlog [root @ localhost ~] # chown-R mysql:mysql / usr/local/pxc_mysql/ [root @ localhost ~] # chmod-R + x / usr/local/pxc_mysql/

3. Switch mysql users to create my.cnf (the configuration file has only a few simple parameters, if the production environment requires more database parameters)

[root@node1 ~] # su-mysql [mysql@node1 ~] $cd / usr/local/pxc_mysql/ [MySQL @ node1 pxc_mysql] $vi my.cnf [client] socket=/usr/local/pxc_mysql/ data [mysqld] server-id=142port = 3306basedir=/usr/local/pxc_mysqldatadir=/usr/local/pxc_mysql/datasocket=/usr/local/pxc_mysql/data/mysql.socklog-error=/usr/local/pxc_mysql/data/mysqld.logpid-file=/usr/local/pxc_mysql / data/mysqld.pidlog-bin=/usr/local/pxc_mysql/logsslow_query_log_file = / usr/local/pxc_mysql/data/slow.loglog_slave_updatesexpire_logs_days=7binlog_format=ROWinnodb_buffer_pool_size = 1524M#pxcwsrep_provider=/usr/local/pxc_mysql/lib/libgalera_smm.so wsrep_cluster_name=pxc-niewsrep_cluster_address=gcomm://192.168.2.100192.168.2.200192.168.2.210wsrep_node_name=node1wsrep_node_address=192.168 .2.100wsrep _ sst_method=xtrabackup-v2 wsrep_sst_auth=pxc:123456pxc_strict_mode=ENFORCING binlog_format=ROW default_storage_engine=InnoDBinnodb_autoinc_lock_mode=2

Note:

The other two nodes only need to be modified:

Server-id=142-- id can't be the same

Wsrep_node_name=node1-change to the hostname of your own node

Wsrep_node_address=192.168.2.100-- changed to the host IP of your own node

4. Initialize the database with 3 nodes

/ usr/local/pxc_mysql/bin/mysqld-defaults-file=/usr/local/pxc_mysql/my.cnf-datadir=/usr/local/pxc_mysql/data-basedir=/usr/local/pxc_mysql-initialize

(there is a root password in the / usr/local/pxc_mysql/data/mysqld.log log)

5. Start the first node first:

[root@node1 pxc_mysql] # / usr/local/pxc_mysql/bin/mysqld_safe-- defaults-file=/usr/local/pxc_mysql/my.cnf-- wsrep-new-cluster-- user=mysql &-- start with root

Then enter MySQL and perform the following operations (if you cannot enter, the password has expired, then add: skip-grant-tables in the my.cnf file, and then enter the database without a password: update mysql.user set password_expired= "N" where user= "root"; finally, remove the parameters from the configuration file, restart the database, and enter with the root password you just had. )

MySQL [(none)] > show databases +-+ | Database | +-+ | information_schema | | mysql | | performance_schema | | sys | +-+ 4 rows in set (0.00 sec) MySQL [(none)] > show status like 'wsrep_local_state%' +-- +-+ | Variable_name | Value | +- -- +-+ | wsrep_local_state_uuid | c2ab52e7-67cf-11e8-9d02-e76acee85210 | | wsrep_local_state | 4 | | wsrep_local_state_comment | Synced | +- -- +-+ 3 rows in set (0.00 sec) MySQL [(none)] > show status like 'wsrep_cluster_%' +-- +-- + | Variable_name | Value | +-+ -- + | wsrep_cluster_conf_id | 1 | | wsrep_cluster_size | 1 | | wsrep_cluster_state_uuid | c2ab52e7-67cf-11e8-9d02-e76acee85210 | | wsrep_cluster_status | | Primary | +-- +-- + 4 rows in set (0.00 sec) MySQL [(none)] > GRANT RELOAD | LOCK TABLES, PROCESS, REPLICATION CLIENT ON *. * TO 'pxc'@'%' IDENTIFIED BY' 123456' -create a SST user MySQL [(none)] > flush privileges

(from the information cluster above, the size of the cluster is 1 node, the state is primary, and the node is in the Synced state, which is fully connected and ready for write-set replication. )

6. Start the second node and the third node in turn:

[root@node2 pxc_mysql] # / usr/local/pxc_mysql/bin/mysqld_safe-defaults-file=/usr/local/pxc_mysql/my.cnf-user=mysql &

7. Verify that the cluster deployment is successful:

View at each node:

MySQL [(none)] > show status like 'wsrep_cluster_%' +-- +-- + | Variable_name | Value | +-+ -- + | wsrep_cluster_conf_id | 5 | | wsrep_cluster_size | 3 |-now all three nodes have joined the cluster | wsrep_cluster_state_ Uuid | c2ab52e7-67cf-11e8-9d02-e76acee85210 | | wsrep_cluster_status | Primary | +-+-+

Create a table or database on one of the nodes to see if all three nodes are completed synchronously.

Tags: Node data database file password parameter user software cluster three host information status environment software package configuration success two foundation size Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MariaDB vpn NVidia Microsoft Shulou Tech Info