PolarDB安装

1、关闭透明大页
cat /sys/kernel/mm/transparent_hugepage/enabled
如返回结果为always madvise [never]则表示已关闭透明大页。
否则执行以下操作以关闭透明大页。
echo never > /sys/kernel/mm/transparent_hugepage/enabled


2、安装主程序
[root@standby PolarDB]# yum -y install t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64.rpm 
Loaded plugins: ulninfo
Examining t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64.rpm: t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64
Marking t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package t-polardbx-engine.x86_64 0:8.4.19-20250825_17558853.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================================================================================
 Package                           Arch                   Version                                       Repository                                                              Size
=====================================================================================================================================================================================
Installing:
 t-polardbx-engine                 x86_64                 8.4.19-20250825_17558853.el7                  /t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64                 2.8 G

Transaction Summary
=====================================================================================================================================================================================
Install  1 Package

Total size: 2.8 G
Installed size: 2.8 G
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64                                                                                                             1/1 
Copying /u01/xcluster80_20250825_current to /u01/xcluster80
Copying /u01/xcluster80_20250825_current to /u01/xcluster80_20250825
  Verifying  : t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64                                                                                                             1/1 

Installed:
  t-polardbx-engine.x86_64 0:8.4.19-20250825_17558853.el7                                                                                                                            

Complete!
注:安装完成后,默认会创建/u01/目录,可以在u01目录下看到对应的数据库二进制文件,如下。
[root@standby PolarDB]# cd /u01/
[root@standby u01]# ll
drwxr-xr-x 11 root   root     4096 Apr 14 11:59 xcluster80
drwxr-xr-x 11 root   root     4096 Apr 14 11:59 xcluster80_20250825


3、创建并切换到 polardbx 用户
useradd -ms /bin/bash polardbx
echo "polardbx:polardbx" | chpasswd
echo "polardbx    ALL=(ALL)    NOPASSWD: ALL" >> /etc/sudoers
su - polardbx


4、配置初始化参数
确认当前操作系统用户是 polardbx 用户,而不是 root 用户。

准备文件目录:
mkdir polardbx-engine
cd polardbx-engine && mkdir log mysql run data tmp

准备配置文件(/home/polardbx/polardbx-engine/my.cnf),创建文件 touch my.cnf,并粘贴如下文本:
$ cat my.cnf 
[mysqld]
basedir = /u01/xcluster80
datadir = /home/polardbx/polardbx-engine/data
tmpdir = /home/polardbx/polardbx-engine/tmp
socket = /home/polardbx/polardbx-engine/tmp/mysql.sock
log_error = /home/polardbx/polardbx-engine/log/alert.log

port = 4886

default_authentication_plugin = mysql_native_password
lower_case_table_names = 1
gtid_mode = ON
enforce_gtid_consistency = ON
log_bin = 1
sync_binlog=1
innodb_flush_log_at_trx_commit=1
log_error_verbosity = 3
mysqlx=0
enable_polarx_rpc=0
loose-mysqlx-ssl=DISABLED
ssl=0

cluster_id = 1749112302
cluster_info = 192.168.142.14:14886@1
server_id = 1001

[mysqld_safe]
pid_file = /home/polardbx/polardbx-engine/run/mysql.pid


5、初始化数据文件
# 初始化
/u01/xcluster80/bin/mysqld --defaults-file=my.cnf --initialize-insecure

检查初始化是否成功
ls -al data/* | grep lizard
...
-rw-r----- 1 polardbx polardbx 12582912 Apr 14 12:50 lizard.ibd
...

初始化正常后,可以启动或停止(以下命令使用的路径均为相对路径,请在 /home/polardbx/polardbx-engine 目录或实际 my.cnf 所在目录下执行,否则请将所有相对路径替换为绝对路径)。
# 启动
/u01/xcluster80/bin/mysqld_safe --defaults-file=my.cnf &

# 可以检查日志输出是否正常
tail -n 200 log/alert.log

# 停止,通过mysqladmin触发mysqld_safe和mysqld停止
/u01/xcluster80/bin/mysqladmin --defaults-file=my.cnf --socket=tmp/mysql.sock -p shutdown


6、登录数据库,验证状态(单节点启动,本机就是leader)
/u01/xcluster80/bin/mysql -h127.0.0.1 -P4886 -uroot
# 查询本机的paxos角色
mysql> SELECT * FROM INFORMATION_SCHEMA.ALISQL_CLUSTER_LOCAL \G
*************************** 1. row ***************************
          SERVER_ID: 1
       CURRENT_TERM: 2
     CURRENT_LEADER: 192.168.142.14:14886
       COMMIT_INDEX: 1
      LAST_LOG_TERM: 2
     LAST_LOG_INDEX: 1
               ROLE: Leader
          VOTED_FOR: 1
   LAST_APPLY_INDEX: 1
SERVER_READY_FOR_RW: Yes
      INSTANCE_TYPE: Normal
   DISABLE_ELECTION: No
      APPLY_RUNNING: No
          LEADER_IP: 
        LEADER_PORT: 0
1 row in set (0.00 sec)

# 查询集群所有机器的paxos角色
mysql> SELECT * FROM INFORMATION_SCHEMA.ALISQL_CLUSTER_GLOBAL \G
*************************** 1. row ***************************
       SERVER_ID: 1
         IP_PORT: 192.168.142.14:14886
     MATCH_INDEX: 1
      NEXT_INDEX: 0
            ROLE: Leader
       HAS_VOTED: Yes
      FORCE_SYNC: No
 ELECTION_WEIGHT: 5
  LEARNER_SOURCE: 0
   APPLIED_INDEX: 1
      PIPELINING: No
    SEND_APPLIED: No
   INSTANCE_TYPE: Normal
DISABLE_ELECTION: No
       SERVER_IP: 
     SERVER_PORT: 0
1 row in set (0.00 sec)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐