mysql cluster 7.3 测试_转centos65安装简测mysql cluster 7.3.7

本文详细记录了MySQL Cluster的安装和配置过程,包括数据节点、SQL节点和管理节点的设置,以及如何启动和关闭集群。还提到了MySQL Cluster的高可用性和数据存储特性,以及使用ndb_mgm进行管理。
摘要由CSDN通过智能技术生成

MySQLCluster是sharednothing分布式架构,ndb存储引擎把数据放置于内存中。可以做到无单点故障。由运行于不同服务器上的的多种进程构成,组件包括SQL节点,NDBD数据节点,管理程序,以及(可能的)数据访问程序。

表(结构)存在SQL节点中。应用程序通过SQL节点访问这些数据表;NDBD数据节点用于保存数据;集群管理通过管理工具ndb_mgmd管理。MySQLCluster具有高可用性、高性能和可缩放性的Cluster数据管理。关于Cluster中组件的关系可见下图:

5ceeb670de0f61cf049489b639eafbaa.png

mysql集群

安装

环境:

[root@myqClter1 ~]# uname -a

Linux myqClter1 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@myqClter1 ~]# cat /etc/issue

CentOS release 6.5 (Final)

Kernel \r on an \m

1

下载

mysql-cluster-gpl-7.3.7

http://dev.mysql.com/downloads

2

规划

mysql cluster 5个节点,装在两台机器上

192.168.55.15 做一个数据节点,SQL节点,管理节点

192.168.55.16 做一个数据节点,SQL节点,管理节点

3

查看已装包

[root@myqClter1 ~]#  rpm -qa|grep mysql

mysql-libs-5.1.71-1.el6.x86_64

[root@myqClter1 ~]#

4

删除

[root@myqClter1 ~]# yum -y remove mysql-libs-5.1.71-1.el6.x86_64

###################

#部署数据节点和sql节点

###################

5

创建用户和组

[root@myqClter1 ~]# groupadd mysql

[root@myqClter1 ~]# useradd -r -g mysql mysql

[root@myqClter1 ~]# id mysql

uid=495(mysql) gid=501(mysql) 组=501(mysql)

[root@myqClter1 ~]#

6

解压mysql cluster包

[root@myqClter1 mysql]# tar -zxvf mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz

[root@myqClter1 mysql]# du -h mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64

。。。

1.6G    mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64

[root@myqClter1 mysql]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll

总用量 168

drwxr-xr-x.  2 root root   4096 1月  22 17:47 bin

-rw-r--r--.  1 7161 wheel 17987 10月  9 21:46 COPYING

drwxr-xr-x.  3 root root   4096 1月  22 17:48 data

drwxr-xr-x.  2 root root   4096 1月  22 17:48 docs

drwxr-xr-x.  4 root root   4096 1月  22 17:48 include

-rw-r--r--.  1 7161 wheel 98601 10月  9 21:46 INSTALL-BINARY

drwxr-xr-x.  3 root root   4096 1月  22 17:48 lib

drwxr-xr-x.  4 root root   4096 1月  22 17:47 man

drwxr-xr-x. 10 root root   4096 1月  22 17:48 mysql-test

-rw-r--r--.  1 7161 wheel  2496 10月  9 21:46 README

drwxr-xr-x.  2 root root   4096 1月  22 17:48 scripts

drwxr-xr-x. 32 root root   4096 1月  22 17:47 share

drwxr-xr-x.  4 root root   4096 1月  22 17:48 sql-bench

drwxr-xr-x.  2 root root   4096 1月  22 17:48 support-files

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll bin/

总用量 904716

-rwxr-xr-x. 1 7161 wheel   4708823 10月  9 22:43 innochecksum

-rw-r--r--. 1 7161 wheel      1057 10月  9 22:42 mcc_config.py

-rwxr-xr-x. 1 7161 wheel    494953 10月  9 22:43 memcached

-rwxr-xr-x. 1 7161 wheel     26309 10月  9 22:42 memclient

-rwxr-xr-x. 1 7161 wheel      1551 10月  9 22:42 msql2mysql

-rwxr-xr-x. 1 7161 wheel   7134628 10月  9 22:44 myisamchk

-rwxr-xr-x. 1 7161 wheel   6724681 10月  9 22:44 myisam_ftdump

-rwxr-xr-x. 1 7161 wheel   6612085 10月  9 22:44 myisamlog

-rwxr-xr-x. 1 7161 wheel   6809636 10月  9 22:44 myisampack

-rwxr-xr-x. 1 7161 wheel   4648990 10月  9 22:43 my_print_defaults

-rwxr-xr-x. 1 7161 wheel   8993255 10月  9 22:45 mysql

-rwxr-xr-x. 1 7161 wheel    111803 10月  9 22:42 mysqlaccess

-rwxr-xr-x. 1 7161 wheel      1702 10月  9 22:42 mysqlaccess.conf

-rwxr-xr-x. 1 7161 wheel   8025589 10月  9 22:45 mysqladmin

-rwxr-xr-x. 1 7161 wheel   8817442 10月  9 22:45 mysqlbinlog

-rwxr-xr-x. 1 7161 wheel     11088 10月  9 22:42 mysqlbug

-rwxr-xr-x. 1 7161 wheel   8002737 10月  9 22:45 mysqlcheck

-rwxr-xr-x. 1 7161 wheel   9051624 10月  9 22:45 mysql_client_test

-rwxr-xr-x. 1 7161 wheel  87950310 10月  9 22:46 mysql_client_test_embedded

-rwxr-xr-x. 1 7161 wheel      6590 10月  9 22:42 mysql_config

-rwxr-xr-x. 1 7161 wheel   7228312 10月  9 22:45 mysql_config_editor

-rwxr-xr-x. 1 7161 wheel      4334 10月  9 22:42 mysql_convert_table_format

-rwxr-xr-x. 1 7161 wheel  93009946 10月  9 22:46 mysqld

-rwxr-xr-x. 1 7161 wheel 119414426 10月  9 22:42 mysqld-debug

-rwxr-xr-x. 1 7161 wheel     26543 10月  9 22:42 mysqld_multi

-rwxr-xr-x. 1 7161 wheel     24805 10月  9 22:42 mysqld_safe

-rwxr-xr-x. 1 7161 wheel   8238061 10月  9 22:45 mysqldump

-rwxr-xr-x. 1 7161 wheel      7424 10月  9 22:42 mysqldumpslow

-rwxr-xr-x. 1 7161 wheel  87770340 10月  9 22:46 mysql_embedded

-rwxr-xr-x. 1 7161 wheel      3409 10月  9 22:42 mysql_find_rows

-rwxr-xr-x. 1 7161 wheel      1366 10月  9 22:42 mysql_fix_extensions

-rwxr-xr-x. 1 7161 wheel     34938 10月  9 22:42 mysqlhotcopy

-rwxr-xr-x. 1 7161 wheel   8015676 10月  9 22:45 mysqlimport

-rwxr-xr-x. 1 7161 wheel   4693968 10月  9 22:45 mysql_plugin

-rwxr-xr-x. 1 7161 wheel     10106 10月  9 22:42 mysql_secure_installation

-rwxr-xr-x. 1 7161 wheel     17572 10月  9 22:42 mysql_setpermission

-rwxr-xr-x. 1 7161 wheel   7995210 10月  9 22:45 mysqlshow

-rwxr-xr-x. 1 7161 wheel   8073926 10月  9 22:45 mysqlslap

-rwxr-xr-x. 1 7161 wheel   8661547 10月  9 22:45 mysqltest

-rwxr-xr-x. 1 7161 wheel  87269558 10月  9 22:46 mysqltest_embedded

-rwxr-xr-x. 1 7161 wheel   4377547 10月  9 22:43 mysql_tzinfo_to_sql

-rwxr-xr-x. 1 7161 wheel   4866948 10月  9 22:45 mysql_upgrade

-rwxr-xr-x. 1 7161 wheel   4646218 10月  9 22:43 mysql_waitpid

-rwxr-xr-x. 1 7161 wheel      3976 10月  9 22:42 mysql_zap

-rwxr-xr-x. 1 7161 wheel  13662188 10月  9 22:45 ndb_blob_tool

-rwxr-xr-x. 1 7161 wheel   6374280 10月  9 22:45 ndb_config

-rwxr-xr-x. 1 7161 wheel  29088929 10月  9 22:44 ndbd

-rwxr-xr-x. 1 7161 wheel  13647826 10月  9 22:45 ndb_delete_all

-rwxr-xr-x. 1 7161 wheel  13658297 10月  9 22:45 ndb_desc

-rwxr-xr-x. 1 7161 wheel  13636648 10月  9 22:45 ndb_drop_index

-rwxr-xr-x. 1 7161 wheel  13636686 10月  9 22:45 ndb_drop_table

-rwxr-xr-x. 1 7161 wheel      6206 10月  9 22:42 ndb_error_reporter

-rwxr-xr-x. 1 7161 wheel  14095556 10月  9 22:45 ndb_index_stat

-rwxr-xr-x. 1 7161 wheel  14561221 10月  9 22:45 ndbinfo_select_all

-rwxr-xr-x. 1 7161 wheel   7131043 10月  9 22:44 ndb_mgm

-rwxr-xr-x. 1 7161 wheel  16141964 10月  9 22:45 ndb_mgmd

-rwxr-xr-x. 1 7161 wheel  13757424 10月  9 22:45 ndb_move_data

-rwxr-xr-x. 1 7161 wheel  29256388 10月  9 22:44 ndbmtd

-rwxr-xr-x. 1 7161 wheel   5137404 10月  9 22:44 ndb_print_backup_file

-rwxr-xr-x. 1 7161 wheel   4880055 10月  9 22:45 ndb_print_file

-rwxr-xr-x. 1 7161 wheel   4832691 10月  9 22:44 ndb_print_schema_file

-rwxr-xr-x. 1 7161 wheel   4819461 10月  9 22:44 ndb_print_sys_file

-rwxr-xr-x. 1 7161 wheel   4851417 10月  9 22:44 ndb_redo_log_reader

-rwxr-xr-x. 1 7161 wheel  15181678 10月  9 22:45 ndb_restore

-rwxr-xr-x. 1 7161 wheel  13711687 10月  9 22:45 ndb_select_all

-rwxr-xr-x. 1 7161 wheel  13647237 10月  9 22:45 ndb_select_count

-rwxr-xr-x. 1 7161 wheel      1802 10月  9 21:46 ndb_setup.py

-rwxr-xr-x. 1 7161 wheel  13635801 10月  9 22:45 ndb_show_tables

-rwxr-xr-x. 1 7161 wheel     43994 10月  9 21:46 ndb_size.pl

-rwxr-xr-x. 1 7161 wheel   5738946 10月  9 22:45 ndb_waiter

-rwxr-xr-x. 1 7161 wheel   4819020 10月  9 22:44 perror

-rwxr-xr-x. 1 7161 wheel   4497866 10月  9 22:43 replace

-rwxr-xr-x. 1 7161 wheel   4647922 10月  9 22:43 resolveip

-rwxr-xr-x. 1 7161 wheel   4655497 10月  9 22:43 resolve_stack_dump

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll data/

总用量 4

drwxr-xr-x. 2 root root 4096 1月  22 17:48 test

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll lib/

总用量 492108

-rw-r--r--. 1 7161 wheel  17288902 10月  9 22:45 libmysqlclient.a

lrwxrwxrwx. 1 7161 wheel        16 1月  22 17:47 libmysqlclient_r.a -> libmysqlclient.a

lrwxrwxrwx. 1 7161 wheel        17 1月  22 17:48 libmysqlclient_r.so -> libmysqlclient.so

lrwxrwxrwx. 1 7161 wheel        20 1月  22 17:48 libmysqlclient_r.so.18 -> libmysqlclient.so.18

lrwxrwxrwx. 1 7161 wheel        24 1月  22 17:48 libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0

lrwxrwxrwx. 1 7161 wheel        20 1月  22 17:48 libmysqlclient.so -> libmysqlclient.so.18

lrwxrwxrwx. 1 7161 wheel        24 1月  22 17:48 libmysqlclient.so.18 -> libmysqlclient.so.18.1.0

-rwxr-xr-x. 1 7161 wheel   8138299 10月  9 22:45 libmysqlclient.so.18.1.0

-rw-r--r--. 1 7161 wheel 235071862 10月  9 22:46 libmysqld.a

-rw-r--r--. 1 7161 wheel 177976584 10月  9 22:41 libmysqld-debug.a

-rw-r--r--. 1 7161 wheel     14846 10月  9 22:43 libmysqlservices.a

lrwxrwxrwx. 1 7161 wheel        21 1月  22 17:48 libndbclient.so -> libndbclient.so.6.0.0

-rwxr-xr-x. 1 7161 wheel  19349092 10月  9 22:45 libndbclient.so.6.0.0

-rw-r--r--. 1 7161 wheel  29310630 10月  9 22:45 libndbclient_static.a

-rw-r--r--. 1 7161 wheel    754332 10月  9 22:38 libtcmalloc_minimal.so

-rwxr-xr-x. 1 7161 wheel  15990948 10月  9 22:45 ndb_engine.so

drwxr-xr-x. 3 root root       4096 1月  22 17:48 plugin

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll man/

总用量 8

drwxr-xr-x. 2 root root 4096 1月  22 17:47 man1

drwxr-xr-x. 2 root root 4096 1月  22 17:47 man8

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll mysql-test/

总用量 392

drwxr-xr-x.  2 root root    4096 1月  22 17:48 collections

drwxr-xr-x.  4 root root    4096 1月  22 17:48 extra

drwxr-xr-x.  2 root root   20480 1月  22 17:48 include

drwxr-xr-x.  4 root root    4096 1月  22 17:48 lib

lrwxrwxrwx.  1 7161 wheel     19 1月  22 17:48 mtr -> ./mysql-test-run.pl

-rwxr-xr-x.  1 7161 wheel  36862 10月  9 21:46 mysql-stress-test.pl

lrwxrwxrwx.  1 7161 wheel     19 1月  22 17:48 mysql-test-run -> ./mysql-test-run.pl

-rwxr-xr-x.  1 7161 wheel 197168 10月  9 21:46 mysql-test-run.pl

-rw-r--r--.  1 7161 wheel   1481 10月  9 21:46 purify.supp

drwxr-xr-x.  2 root root   40960 1月  22 17:48 r

-rw-r--r--.  1 7161 wheel   2813 10月  9 21:46 README

-rw-r--r--.  1 7161 wheel    655 10月  9 21:46 README.gcov

-rw-r--r--.  1 7161 wheel   4600 10月  9 21:46 README.stress

drwxr-xr-x.  5 root root    4096 1月  22 17:48 std_data

drwxr-xr-x. 27 root root    4096 1月  22 17:48 suite

drwxr-xr-x.  2 root root   40960 1月  22 17:48 t

-rw-r--r--.  1 7161 wheel  17965 10月  9 21:46 valgrind.supp

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll scripts/

总用量 36

-rwxr-xr-x. 1 7161 wheel 34544 10月  9 22:42 mysql_install_db

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll share/

总用量 1516

drwxr-xr-x. 2 root root    4096 1月  22 17:47 aclocal

drwxr-xr-x. 2 root root    4096 1月  22 17:47 bulgarian

drwxr-xr-x. 2 root root    4096 1月  22 17:47 charsets

drwxr-xr-x. 2 root root    4096 1月  22 17:47 czech

drwxr-xr-x. 2 root root    4096 1月  22 17:47 danish

-rw-r--r--. 1 7161 wheel  25575 10月  9 21:46 dictionary.txt

drwxr-xr-x. 2 root root    4096 1月  22 17:47 dutch

drwxr-xr-x. 2 root root    4096 1月  22 17:47 english

-rw-r--r--. 1 7161 wheel 505241 10月  9 21:46 errmsg-utf8.txt

drwxr-xr-x. 2 root root    4096 1月  22 17:47 estonian

-rw-r--r--. 1 7161 wheel 739146 10月  9 21:46 fill_help_tables.sql

drwxr-xr-x. 2 root root    4096 1月  22 17:47 french

drwxr-xr-x. 2 root root    4096 1月  22 17:47 german

drwxr-xr-x. 2 root root    4096 1月  22 17:47 greek

drwxr-xr-x. 2 root root    4096 1月  22 17:47 hungarian

-rw-r--r--. 1 7161 wheel   3963 10月  9 21:46 innodb_memcached_config.sql

drwxr-xr-x. 2 root root    4096 1月  22 17:47 italian

drwxr-xr-x. 2 root root    4096 1月  22 17:47 japanese

drwxr-xr-x. 2 root root    4096 1月  22 17:47 java

drwxr-xr-x. 2 root root    4096 1月  22 17:47 korean

drwxr-xr-x. 5 root root    4096 1月  22 17:47 mcc

drwxr-xr-x. 3 root root    4096 1月  22 17:47 memcache-api

-rw-r--r--. 1 7161 wheel   1695 10月  9 21:46 mysql_security_commands.sql

-rw-r--r--. 1 7161 wheel   3464 10月  9 21:46 mysql_system_tables_data.sql

-rw-r--r--. 1 7161 wheel 111746 10月  9 21:46 mysql_system_tables.sql

-rw-r--r--. 1 7161 wheel  10410 10月  9 21:46 mysql_test_data_timezone.sql

-rw-r--r--. 1 7161 wheel  10958 10月  9 21:46 ndb_dist_priv.sql

drwxr-xr-x. 9 root root    4096 1月  22 17:47 nodejs

drwxr-xr-x. 2 root root    4096 1月  22 17:47 norwegian

drwxr-xr-x. 2 root root    4096 1月  22 17:47 norwegian-ny

drwxr-xr-x. 2 root root    4096 1月  22 17:47 polish

drwxr-xr-x. 2 root root    4096 1月  22 17:47 portuguese

drwxr-xr-x. 2 root root    4096 1月  22 17:47 romanian

drwxr-xr-x. 2 root root    4096 1月  22 17:47 russian

drwxr-xr-x. 2 root root    4096 1月  22 17:47 serbian

drwxr-xr-x. 2 root root    4096 1月  22 17:47 slovak

drwxr-xr-x. 2 root root    4096 1月  22 17:47 spanish

drwxr-xr-x. 2 root root    4096 1月  22 17:47 swedish

drwxr-xr-x. 2 root root    4096 1月  22 17:47 ukrainian

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll sql-bench/

总用量 544

-rwxr-xr-x. 1 7161 wheel   7366 10月  9 22:42 bench-count-distinct

-rwxr-xr-x. 1 7161 wheel  15829 10月  9 22:42 bench-init.pl

-rwxr-xr-x. 1 7161 wheel  16212 10月  9 22:42 compare-results

-rwxr-xr-x. 1 7161 wheel   9821 10月  9 22:42 copy-db

-rwxr-xr-x. 1 7161 wheel 159022 10月  9 22:42 crash-me

drwxr-xr-x. 4 root root    4096 1月  22 17:48 Data

-rwxr-xr-x. 1 7161 wheel  22131 10月  9 22:42 graph-compare-results

-rwxr-xr-x. 1 7161 wheel   4825 10月  9 22:42 innotest1

-rwxr-xr-x. 1 7161 wheel   3893 10月  9 22:42 innotest1a

-rwxr-xr-x. 1 7161 wheel   3461 10月  9 22:42 innotest1b

-rwxr-xr-x. 1 7161 wheel   5064 10月  9 22:42 innotest2

-rwxr-xr-x. 1 7161 wheel   2793 10月  9 22:42 innotest2a

-rwxr-xr-x. 1 7161 wheel   3130 10月  9 22:42 innotest2b

drwxr-xr-x. 2 root root    4096 1月  22 17:48 limits

-rw-r--r--. 1 7161 wheel   4163 10月  9 22:42 README

-rwxr-xr-x. 1 7161 wheel   7258 10月  9 22:42 run-all-tests

-rwxr-xr-x. 1 7161 wheel 105307 10月  9 22:42 server-cfg

-rwxr-xr-x. 1 7161 wheel   6049 10月  9 22:42 test-alter-table

-rwxr-xr-x. 1 7161 wheel  25034 10月  9 22:42 test-ATIS

-rwxr-xr-x. 1 7161 wheel   4447 10月  9 22:42 test-big-tables

-rwxr-xr-x. 1 7161 wheel   9804 10月  9 22:42 test-connect

-rwxr-xr-x. 1 7161 wheel   7038 10月  9 22:42 test-create

-rwxr-xr-x. 1 7161 wheel  50677 10月  9 22:42 test-insert

-rwxr-xr-x. 1 7161 wheel  13830 10月  9 22:42 test-select

-rwxr-xr-x. 1 7161 wheel   7153 10月  9 22:42 test-transactions

-rwxr-xr-x. 1 7161 wheel  12028 10月  9 22:42 test-wisconsin

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]# ll support-files/

总用量 32

-rwxr-xr-x. 1 7161 wheel  1153 10月  9 22:42 binary-configure

-rw-r--r--. 1 7161 wheel   773 10月  9 21:46 magic

-rw-r--r--. 1 7161 wheel  1126 10月  9 22:42 my-default.cnf

-rwxr-xr-x. 1 7161 wheel  1061 10月  9 22:42 mysqld_multi.server

-rwxr-xr-x. 1 7161 wheel   894 10月  9 22:42 mysql-log-rotate

-rwxr-xr-x. 1 7161 wheel 10880 10月  9 22:42 mysql.server

[root@myqClter1 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64]#

7

解压的是已经编译好的, 直接放到/usr/local/mysql,修改相关属主属组

luster-gpl-7.3.7-linux-glibc2.5-x86_64]# mv mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64 /usr/local/mysql

luster-gpl-7.3.7-linux-glibc2.5-x86_64]# cd /usr/local/mysql

[root@myqClter1 mysql]# chown -R root:mysql .

[root@myqClter1 mysql]# chown -R mysql data/

8

创建MySQL Server系统表

[root@myqClter1 mysql]# scripts/mysql_install_db --user=mysql

Installing MySQL system tables...2015-01-22 20:39:48 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-01-22 20:39:48 3032 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-01-22 20:39:48 3032 [Note] InnoDB: The InnoDB memory heap is disabled

2015-01-22 20:39:48 3032 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-01-22 20:39:48 3032 [Note] InnoDB: Memory barrier is not used

2015-01-22 20:39:48 3032 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-01-22 20:39:48 3032 [Note] InnoDB: Using Linux native AIO

2015-01-22 20:39:48 3032 [Note] InnoDB: Not using CPU crc32 instructions

2015-01-22 20:39:48 3032 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-01-22 20:39:48 3032 [Note] InnoDB: Completed initialization of buffer pool

2015-01-22 20:39:48 3032 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

2015-01-22 20:39:48 3032 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

2015-01-22 20:39:48 3032 [Note] InnoDB: Database physically writes the file full: wait...

2015-01-22 20:39:49 3032 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

2015-01-22 20:39:49 3032 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

2015-01-22 20:39:49 3032 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

2015-01-22 20:39:49 3032 [Warning] InnoDB: New log files created, LSN=45781

2015-01-22 20:39:49 3032 [Note] InnoDB: Doublewrite buffer not found: creating new

2015-01-22 20:39:49 3032 [Note] InnoDB: Doublewrite buffer created

2015-01-22 20:39:49 3032 [Note] InnoDB: 128 rollback segment(s) are active.

2015-01-22 20:39:49 3032 [Warning] InnoDB: Creating foreign key constraint system tables.

2015-01-22 20:39:49 3032 [Note] InnoDB: Foreign key constraint system tables created

2015-01-22 20:39:49 3032 [Note] InnoDB: Creating tablespace and datafile system tables.

2015-01-22 20:39:49 3032 [Note] InnoDB: Tablespace and datafile system tables created.

2015-01-22 20:39:49 3032 [Note] InnoDB: Waiting for purge to start

2015-01-22 20:39:49 3032 [Note] InnoDB: 5.6.21 started; log sequence number 0

2015-01-22 20:39:51 3032 [Note] Binlog end

2015-01-22 20:39:51 3032 [Note] InnoDB: FTS optimize thread exiting.

2015-01-22 20:39:51 3032 [Note] InnoDB: Starting shutdown...

2015-01-22 20:39:52 3032 [Note] InnoDB: Shutdown completed; log sequence number 1625977

OK

Filling help tables...2015-01-22 20:39:52 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-01-22 20:39:52 3054 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-01-22 20:39:52 3054 [Note] InnoDB: The InnoDB memory heap is disabled

2015-01-22 20:39:52 3054 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-01-22 20:39:52 3054 [Note] InnoDB: Memory barrier is not used

2015-01-22 20:39:52 3054 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-01-22 20:39:52 3054 [Note] InnoDB: Using Linux native AIO

2015-01-22 20:39:52 3054 [Note] InnoDB: Not using CPU crc32 instructions

2015-01-22 20:39:52 3054 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-01-22 20:39:52 3054 [Note] InnoDB: Completed initialization of buffer pool

2015-01-22 20:39:52 3054 [Note] InnoDB: Highest supported file format is Barracuda.

2015-01-22 20:39:52 3054 [Note] InnoDB: 128 rollback segment(s) are active.

2015-01-22 20:39:52 3054 [Note] InnoDB: Waiting for purge to start

2015-01-22 20:39:52 3054 [Note] InnoDB: 5.6.21 started; log sequence number 1625977

2015-01-22 20:39:53 3054 [Note] Binlog end

2015-01-22 20:39:53 3054 [Note] InnoDB: FTS optimize thread exiting.

2015-01-22 20:39:53 3054 [Note] InnoDB: Starting shutdown...

2015-01-22 20:39:54 3054 [Note] InnoDB: Shutdown completed; log sequence number 1625987

OK

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

./bin/mysqladmin -u root password 'new-password'

./bin/mysqladmin -u root -h myqClter1 password 'new-password'

Alternatively you can run:

./bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

cd . ; ./bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as ./my.cnf and

will be used by default by the server when you start it.

You may edit this file to change server settings

[root@myqClter1 mysql]#

9

配置启动脚本

[root@myqClter1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

# 设置mysql服务为开机自启动

# chkconfig --add mysqld

#################

#以上第3-9步部署数据节点和SQL节点,根据规划在另一台服务器做同样操作

#################

#################

# 部署管理节点

#################

管理节点只需ndb_mgm和ndb_mgmd两个文件和一个配置文件,这两个文件从数据节点上copy就行。

ndb_mgmd是 mysql cluster管理服务器,ndb_mgm是客户端管理工具

10

[root@myqClter1 mysql]# ll bin/ndb_mgm

ndb_mgm   ndb_mgmd

[root@myqClter1 mysql]# cp mysql/bin/ndb_mgm*/usr/local/bin

[root@myqClter1 mysql]# ll /usr/local/bin/ndb_mgm*

-rwxr-xr-x. 1 root root  7131043 1月  22 21:25 /usr/local/bin/ndb_mgm

-rwxr-xr-x. 1 root root 16141964 1月  22 21:25 /usr/local/bin/ndb_mgmd

#################

# 配置

#################

11

配置mysql服务器成数据节点和SQL节点

[root@myqClter1 mysql]# cp support-files/my-default.cnf /etc/my.cnf

[root@myqClter1 mysql]# vi /etc/my.cnf

增加如下内容

[mysqld]

ndbcluster #运行NDB存储引擎

[mysql_cluster]

ndb-connectstring=192.168.55.15 #管理节点IP

另一个节点上同样操作

#scp /etc/my.cnf 192.168.55.16:/etc/

注意两台服务器都得这样配置。

12

配置管理节点

[root@myqClter1 mysql]# mkdir /var/lib/mysql-cluster

[root@myqClter1 mysql]# vi /var/lib/mysql-cluster/config.ini

加入以下内容:

[ndbd default]

NoOfReplicas=2 #每个数据节点的镜像数量

DataMemory=200M  #每个数据节点中给数据分配的内存

IndexMemory=20M #每个数据节点中给索引分配的内存

[tcp default]

portnumber=2202

[ndb_mgmd]  #配置管理节点

#NodeId=1

hostname=192.168.55.15

datadir=/var/lib/mysql-cluster/ #管理节点 日志目录

[ndbd]

#数据节点配置,一个数据节点一个[ndbd]

#NodeId=2

hostname=192.168.55.15

datadir=/usr/local/mysql/data/  #数据节点目录

[ndbd]

#NodeId=3

hostname=192.168.55.16

datadir=/usr/local/mysql/data/

[mysqld]

#SQL节点配置

hostname=192.168.55.15

[mysqld]

hostname=192.168.55.16

13

启动:

启动顺序:

管理节点->数据节点->SQL节点

启动管理节点:

[root@myqClter1 bin]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini

MySQL Cluster Management Server mysql-5.6.21 ndb-7.3.7

[root@myqClter1 bin]#

启动数据节点

[root@myqClter1 bin]# ./ndbd --initial

2015-01-23 15:31:15 [ndbd] INFO     -- Angel connected to '192.168.55.15:1186'

2015-01-23 15:31:15 [ndbd] INFO     -- Angel allocated nodeid: 2

[root@myqClter1 bin]#

启动第二个数据节点

[root@myqClter2 bin]# ./ndbd --initial

Unable to connect with connect string: nodeid=0,192.168.55.15:1186

Retrying every 5 seconds. Attempts left: 12 11 10 9 8 7 6 5 4 3 2 1, failed.

2015-01-23 15:35:50 [ndbd] ERROR    -- Could not connect to management server, error: ''

[root@myqClter2 bin]#

修改防火墙,放开1186端口

[root@myqClter1 bin]# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1186 -j ACCEPT

[root@myqClter2 bin]#

[root@myqClter2 bin]# ./ndbd --initial

2015-01-23 15:36:34 [ndbd] INFO     -- Angel connected to '192.168.55.15:1186'

2015-01-23 15:36:34 [ndbd] INFO     -- Angel allocated nodeid: 3

[root@myqClter2 bin]#

启动sql节点

[root@myqClter1 bin]# ps -ef | grep mysql

root      3749     1  2 15:25 ?        00:00:33 ndb_mgmd -f /var/lib/mysql-cluster/config.ini

root      3920  3629  0 15:44 pts/1    00:00:00 grep mysql

[root@myqClter1 bin]#

[root@myqClter1 bin]# /etc/init.d/mysqld status

ERROR! MySQL is not running

[root@myqClter1 bin]# /etc/init.d/mysqld start

Starting MySQL.......................................... SUCCESS!

[root@myqClter1 bin]#

[root@myqClter1 bin]# ps -ef | grep mysql

root      3749     1  2 15:25 ?        00:00:37 ndb_mgmd -f /var/lib/mysql-cluster/config.ini

root      3935     1  0 15:44 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/myqClter1.pid

mysql     4062  3935  1 15:44 pts/1    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/myqClter1.err --pid-file=/usr/local/mysql/data/myqClter1.pid

root      4176  3629  0 15:46 pts/1    00:00:00 grep mysql

[root@myqClter1 bin]#

14

客户端管理使用/usr/local/bin/ndb_mgm

[root@myqClter1 bin]# ls

ndb_mgm  ndb_mgmd

[root@myqClter1 bin]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> help

---------------------------------------------------------------------------

NDB Cluster -- Management Client -- Help

---------------------------------------------------------------------------

HELP                                   Print help text

HELP COMMAND                           Print detailed help for COMMAND(e.g. SHOW)

SHOW                                   Print information about cluster

CREATE NODEGROUP ,...          Add a Nodegroup containing nodes

DROP NODEGROUP                     Drop nodegroup with id NG

START BACKUP [NOWAIT | WAIT STARTED | WAIT COMPLETED]

START BACKUP [] [NOWAIT | WAIT STARTED | WAIT COMPLETED]

START BACKUP [] [SNAPSHOTSTART | SNAPSHOTEND] [NOWAIT | WAIT STARTED | WAIT COMPLETED]

Start backup (default WAIT COMPLETED,SNAPSHOTEND)

ABORT BACKUP                Abort backup

SHUTDOWN                               Shutdown all processes in cluster

CLUSTERLOG ON [] ...         Enable Cluster logging

CLUSTERLOG OFF [] ...        Disable Cluster logging

CLUSTERLOG TOGGLE [] ...     Toggle severity filter on/off

CLUSTERLOG INFO                        Print cluster log information

START                             Start data node (started with -n)

RESTART [-n] [-i] [-a] [-f]       Restart data or management server node

STOP [-a] [-f]                    Stop data or management server node

ENTER SINGLE USER MODE             Enter single user mode

EXIT SINGLE USER MODE                  Exit single user mode

STATUS                            Print status

CLUSTERLOG {=}+  Set log level for cluster log

PURGE STALE SESSIONS                   Reset reserved nodeid's in the mgmt server

CONNECT []              Connect to management server (reconnect if already connected)

REPORT               Display report for

QUIT                                   Quit management client

= ALERT | CRITICAL | ERROR | WARNING | INFO | DEBUG

= STARTUP | SHUTDOWN | STATISTICS | CHECKPOINT | NODERESTART | CONNECTION | INFO | ERROR | CONGESTION | DEBUG | BACKUP | SCHEMA

= BACKUPSTATUS | MEMORYUSAGE | EVENTLOG

    = 0 - 15

       = ALL | Any database node id

For detailed help on COMMAND, use HELP COMMAND.

ndb_mgm> show

Connected to Management Server at: 192.168.55.15:1186

Cluster Configuration

---------------------

[ndbd(NDB)]    2 node(s)

id=2    @192.168.55.15  (mysql-5.6.21 ndb-7.3.7, starting, Nodegroup: 0)

id=3    @192.168.55.16  (mysql-5.6.21 ndb-7.3.7, starting, Nodegroup: 0)

[ndb_mgmd(MGM)]    1 node(s)

id=1    @192.168.55.15  (mysql-5.6.21 ndb-7.3.7)

[mysqld(API)]    2 node(s)

id=4 (not connected, accepting connect from 192.168.55.15)

id=5 (not connected, accepting connect from 192.168.55.16)

ndb_mgm>

#退出管理工具

ndb_mgm> quit

[root@myqClter1 bin]#

15

简单测试:

使用mysql cluster中需要注意两点:

一是表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,使用ALTER TABLE选项更改也可以,以使用NDB Cluster存储引擎在 Cluster内复制它们。

二是每个NDB表必须要有一个主键,如果没有,NDB Cluster存储引擎将自动生成隐含主键。

连到sql节点1上,创建ndb引擎数据表beigang,插入数据,连到sql节点2上,查看beigang表数据,再插入数据,连到sql节点1查看,没问题就OK了。

连接sql节点1,创建下表并插入数据:

[root@myqClter1 bin]# ./mysql -h 192.168.55.15 -p test

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| ndb_2_fs           |

| ndbinfo            |

| performance_schema |

| test               |

+--------------------+

6 rows in set (0.00 sec)

mysql> use test;

Database changed

mysql> create table beigang(

-> id int not null auto_increment primary key,

-> name varchar(30) not null default ''

-> )engine = ndbcluster default charset utf8;

Query OK, 0 rows affected (0.21 sec)

mysql>

mysql> insert into beigang values(1, 'ndb t1');

Query OK, 1 row affected (0.14 sec)

mysql> insert into beigang values(2, 'ndb t2');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> select * from beigang;

+----+--------+

| id | name   |

+----+--------+

|  1 | ndb t1 |

|  2 | ndb t2 |

+----+--------+

2 rows in set (0.13 sec)

mysql> \q

Bye

[root@myqClter1 bin]#

连到sql节点2上,查看beigang表数据,再插入数据:

[root@myqClter1 bin]# ./mysql -h 192.168.55.16 -p test

Enter password:

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> select * from beigang;

+----+--------+

| id | name   |

+----+--------+

|  1 | ndb t1 |

|  2 | ndb t2 |

+----+--------+

2 rows in set (0.10 sec)

mysql> insert into beigang values(3, 'ndb t3');

Query OK, 1 row affected (0.09 sec)

mysql> \q

Bye

[root@myqClter1 bin]#

连到sql节点1查看,没问题就OK了。

[root@myqClter1 bin]# ./mysql -h 192.168.55.15 -p test

Enter password:

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql>

mysql>

mysql> select * from beigang;

+----+--------+

| id | name   |

+----+--------+

|  3 | ndb t3 |

|  1 | ndb t1 |

|  2 | ndb t2 |

+----+--------+

3 rows in set (0.00 sec)

mysql> \q

Bye

16

关闭顺序应该是:

管理节点->数据节点->SQL节点

命令ndb_mgm -e shutdown关闭管理节点和数据节点,sql节点/etc/init.d/mysqld stop关就可以了

[root@myqClter1 bin]# ndb_mgm -e shutdown

Connected to Management Server at: 192.168.55.15:1186

3 NDB Cluster node(s) have shutdown.

Disconnecting to allow management server to shutdown.

[root@myqClter1 bin]#

[root@myqClter1 bin]# /etc/init.d/mysqld stop

Shutting down MySQL..... SUCCESS!

[root@myqClter1 bin]#

[root@myqClter2 bin]# /etc/init.d/mysqld stop

Shutting down MySQL..... SUCCESS!

附:

ndb_mgmd和ndb_mgm的命令行参数:

[root@myqClter1 bin]# ll

总用量 22728

-rwxr-xr-x. 1 root root  7131043 1月  22 21:25 ndb_mgm

-rwxr-xr-x. 1 root root 16141964 1月  22 21:25 ndb_mgmd

[root@myqClter1 bin]# ndb_mgmd  --help

MySQL Cluster Management Server mysql-5.6.21 ndb-7.3.7

Usage: ndb_mgmd [OPTIONS]

MySQL distrib mysql-5.6.21 ndb-7.3.7, for linux-glibc2.5 (x86_64)

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

The following groups are read: mysql_cluster ndb_mgmd

The following options may be given as the first argument:

--print-defaults        Print the program argument list and exit.

--no-defaults           Don't read default options from any option file,

except for login file.

--defaults-file=#       Only read default options from the given file #.

--defaults-extra-file=# Read this file after the global files are read.

--defaults-group-suffix=#

Also read groups with concat(group, suffix)

--login-path=#          Read this path from the login file.

-?, --usage         Display this help and exit.

-?, --help          Display this help and exit.

-V, --version       Output version information and exit.

-c, --ndb-connectstring=name

Set connect string for connecting to ndb_mgmd. Syntax:

"[nodeid=;][host=][:]". Overrides

specifying entries in NDB_CONNECTSTRING and my.cnf

--ndb-mgmd-host=name

same as --ndb-connectstring

--ndb-nodeid=#      Set node id for this node. Overrides node id specified in

--ndb-connectstring.

--ndb-optimized-node-selection

Select nodes for transactions in a more optimal way

(Defaults to on; use --skip-ndb-optimized-node-selection to disable.)

-c, --connect-string=name

same as --ndb-connectstring

--core-file         Write core on errors.

--character-sets-dir=name

Directory where character sets are.

-f, --config-file=name

Specify cluster configuration file

-P, --print-full-config

Print full config and exit

-d, --daemon        Run ndb_mgmd in daemon mode (default)

(Defaults to on; use --skip-daemon to disable.)

--interactive       Run interactive. Not supported but provided for testing

purposes

--no-nodeid-checks  Do not provide any node id checks

--nodaemon          Don't run as daemon, but don't read from stdin

--mycnf             Read cluster config from my.cnf

--bind-address=name Local bind address

--configdir=name    Directory for the binary configuration files (alias for

--config-dir)

--config-dir=name   Directory for the binary configuration files

--config-cache      Enable configuration cache and change management

(Defaults to on; use --skip-config-cache to disable.)

-v, --verbose       Write more log messages

--reload            Reload config from config.ini or my.cnf if it has changed

on startup

--initial           Delete all binary config files and start from config.ini

or my.cnf

--log-name=name     Name to use when logging messages for this node

--nowait-nodes=name Nodes that will not be waited for during start

Variables (--variable-name=value)

and boolean options {FALSE|TRUE}  Value (after reading options)

--------------------------------- ----------------------------------------

ndb-connectstring                 192.168.55.15

ndb-mgmd-host                     192.168.55.15

ndb-nodeid                        0

ndb-optimized-node-selection      TRUE

connect-string                    192.168.55.15

core-file                         FALSE

character-sets-dir                (No default value)

config-file                       (No default value)

print-full-config                 FALSE

daemon                            TRUE

interactive                       FALSE

no-nodeid-checks                  FALSE

nodaemon                          FALSE

mycnf                             FALSE

bind-address                      (No default value)

configdir                         /usr/local/mysql/mysql-cluster

config-dir                        /usr/local/mysql/mysql-cluster

config-cache                      TRUE

verbose                           FALSE

reload                            FALSE

initial                           FALSE

log-name                          MgmtSrvr

nowait-nodes                      (No default value)

[root@myqClter1 bin]#

[root@myqClter1 bin]# ndb_mgmd  -e shutdown

MySQL Cluster Management Server mysql-5.6.21 ndb-7.3.7

ndb_mgmd: unknown option '-e'

[root@myqClter1 bin]#

[root@myqClter1 bin]#

[root@myqClter1 bin]# ndb_mgm --help

Usage: ndb_mgm [OPTIONS] [hostname [port]]

MySQL distrib mysql-5.6.21 ndb-7.3.7, for linux-glibc2.5 (x86_64)

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

The following groups are read: mysql_cluster ndb_mgm

The following options may be given as the first argument:

--print-defaults        Print the program argument list and exit.

--no-defaults           Don't read default options from any option file,

except for login file.

--defaults-file=#       Only read default options from the given file #.

--defaults-extra-file=# Read this file after the global files are read.

--defaults-group-suffix=#

Also read groups with concat(group, suffix)

--login-path=#          Read this path from the login file.

-?, --usage         Display this help and exit.

-?, --help          Display this help and exit.

-V, --version       Output version information and exit.

-c, --ndb-connectstring=name

Set connect string for connecting to ndb_mgmd. Syntax:

"[nodeid=;][host=][:]". Overrides

specifying entries in NDB_CONNECTSTRING and my.cnf

--ndb-mgmd-host=name

same as --ndb-connectstring

--ndb-nodeid=#      Set node id for this node. Overrides node id specified in

--ndb-connectstring.

--ndb-optimized-node-selection

Select nodes for transactions in a more optimal way

(Defaults to on; use --skip-ndb-optimized-node-selection to disable.)

-c, --connect-string=name

same as --ndb-connectstring

--core-file         Write core on errors.

--character-sets-dir=name

Directory where character sets are.

-e, --execute=name  execute command and exit

-t, --try-reconnect=#

Specify number of tries for connecting to ndb_mgmd (0 =

infinite)

-v, --verbose=#     Control the amount of printout

Variables (--variable-name=value)

and boolean options {FALSE|TRUE}  Value (after reading options)

--------------------------------- ----------------------------------------

ndb-connectstring                 192.168.55.15

ndb-mgmd-host                     192.168.55.15

ndb-nodeid                        0

ndb-optimized-node-selection      TRUE

connect-string                    192.168.55.15

core-file                         FALSE

character-sets-dir                (No default value)

execute                           (No default value)

try-reconnect                     3

verbose                           1

[root@myqClter1 bin]#

[root@myqClter1 bin]#

[root@myqClter1 bin]#

[root@myqClter1 bin]#

[root@myqClter1 bin]# ndb_mgm -e shutdown

Connected to Management Server at: 192.168.55.15:1186

3 NDB Cluster node(s) have shutdown.

Disconnecting to allow management server to shutdown.

[root@myqClter1 bin]#

engine=ndbcluster或者engine=ndb的表才能使用Data node所存储。其他engine即放在SQL node本地,就像单机版一样。

这东西用着如何就根据实际场景测吧,其相关的bug可以到http://bugs.mysql.com/search.php查看

参考:

Chapter 18 MySQL Cluster NDB 7.3 and MySQL Cluster NDB 7.4

http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值