Skip to content

Instantly share code, notes, and snippets.

@xiangchu0
Last active May 3, 2019 07:18
Show Gist options
  • Select an option

  • Save xiangchu0/37922835a2d1eb77bbaebb412dce78d5 to your computer and use it in GitHub Desktop.

Select an option

Save xiangchu0/37922835a2d1eb77bbaebb412dce78d5 to your computer and use it in GitHub Desktop.
percona-server-5.7.x-build-notes

dependencies debian9.x

apt install gcc g++ cmake make automake autoconf libtool git scons \
flex bison libncurses5 libncurses5-dev libreadline5 libreadline-dev \
libaio1 libaio-dev libev4 libev-dev \
curl libcurl3 libcurl4-openssl-dev libssl-dev zlib1g-dev

boost_1_68_0

python2.7-dev zlib1g-dev libbz2-dev libicu-dev icu-devtools

./bootstrap.sh --prefix=/Application/boost

./b2 -j4

./b2 install

configure and compile

cmake ../percona-server-5.7.18-16/ \
-DCMAKE_INSTALL_PREFIX=/app/percona \
-DMYSQL_UNIX_ADDR=/app/percona/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/usr/local/include \
-DMYSQL_DATADIR=/app/percona/data \
-DENABLED_PROFILING=ON \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=ON \
-DWITH_INNODB_EXTRA_DEBUG=OFF \
-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_UNIT_TESTS=OFF \
-DWITH_DEBUG=OFF

useradd -r -s /sbin/nologin mysql
 
./bin/mysqld --initialize --user=mysql \
--basedir=/app/percona --datadir=/app/percona/data \
--innodb_undo_tablespaces=3

./bin/mysqld --user=mysql --basedir=/app/percona --datadir=/app/percona/data


[client]
socket=/go/percona/data/mysql.sock
[mysqld]
user=mysql
datadir=/go/percona/data
socket=/go/percona/data/mysql.sock
pid-file=/go/percona/data/mysql-node1.pid
port=3306
character_set_server = utf8
binlog_format=ROW
default_storage_engine=InnoDB
innodb_undo_tablespaces = 3

[mysql]
socket=/app/percona/data/mysql.sock
user=root
password=Cde!@#123

[mysqld]
server-id                       = 1
log-bin
datadir                         = /app/percona/data
socket                          = /app/percona/data/mysql.sock
pid-file                        = /app/percona/data/mysql.pid
port                            = 3306
character_set_server            = utf8
binlog_format                   = ROW
default_storage_engine          = InnoDB
innodb_buffer_pool_size         = 2G
innodb_undo_tablespaces         = 3
innodb_undo_log_truncate        = 1
innodb_flush_method             = O_DIRECT
innodb_log_files_in_group       = 3
cmake ../percona-server-8.0.15-5/ \
-DCMAKE_INSTALL_PREFIX=/Application/mysql \
-DMYSQL_UNIX_ADDR=/Application/mysql/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/Application/boost/include \
-DMYSQL_DATADIR=/Application/mysql/data \
-DENABLED_PROFILING=ON \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=ON \
-DWITH_INNODB_EXTRA_DEBUG=OFF \
-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_UNIT_TESTS=OFF \
-DWITH_DEBUG=ON
mkdir /Application/server1
mkdir /Application/server2
mkdir /Application/server3
/Application/mysql/bin/mysqld --initialize-insecure --basedir=/Application/mysql/ --datadir=/Application/server1
/Application/mysql/bin/mysqld --initialize-insecure --basedir=/Application/mysql/ --datadir=/Application/server2
/Application/mysql/bin/mysqld --initialize-insecure --basedir=/Application/mysql/ --datadir=/Application/server3
cat > /Application/mysql/server1.cnf <<EOF
[mysqld]
datadir=/Application/server1
basedir=/Application/mysql
port=24801
socket=/Application/server1/server1.sock
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE
EOF
/Application/mysql/bin/mysqld --defaults-file=/Application/mysql/server1.cnf
/Application/mysql/bin/mysql -S /Application/server1/server1.sock

cat > /Application/mysql/server2.cnf <<EOF
[mysqld]
datadir=/Application/server2
basedir=/Application/mysql
port=24802
socket=/Application/server2/server2.sock
server_id=2
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE
EOF
/Application/mysql/bin/mysqld --defaults-file=/Application/mysql/server2.cnf
/Application/mysql/bin/mysql -S /Application/server1/server1.sock


cat > /Application/mysql/server3.cnf <<EOF
[mysqld]
datadir=/Application/server3
basedir=/Application/mysql
port=24803
socket=/Application/server3/server3.sock
server_id=3
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE
EOF
/Application/mysql/bin/mysqld --defaults-file=/Application/mysql/server3.cnf
/Application/mysql/bin/mysql -S /Application/server3/server3.sock -uroot
2019-03-24T06:26:32.197291Z 7 [ERROR] [MY-011685] [Repl] Plugin group_replication reported: 'The group name option is mandatory'
2019-03-24T06:26:32.197375Z 7 [ERROR] [MY-011660] [Repl] Plugin group_replication reported: 'Unable to start Group Replication on boot'
SET SQL_LOG_BIN=0;
CREATE USER rplication_user@'%' IDENTIFIED BY 'replication_password';\
GRANT REPLICATION SLAVE ON *.* TO rplication_user@'%';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rplication_user', MASTER_PASSWORD='replication_password' FOR CHANNEL 'group_replication_recovery';
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
SELECT * FROM performance_schema.replication_group_members\G;
SET SQL_LOG_BIN=0;
CREATE USER rplication_user@'%' IDENTIFIED BY 'replication_password';\
GRANT REPLICATION SLAVE ON *.* TO rplication_user@'%';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rplication_user', MASTER_PASSWORD='replication_password' FOR CHANNEL 'group_replication_recovery';
START GROUP_REPLICATION;

dependencies debian9.x

apt install gcc g++ cmake make automake autoconf libtool git scons \
flex bison libncurses5 libncurses5-dev libreadline5 libreadline-dev \
libaio1 libaio-dev libev4 libev-dev \
curl libcurl3 libcurl4-openssl-dev libssl-dev zlib1g-dev

boost_1_68_0

python2.7-dev zlib1g-dev libbz2-dev libicu-dev icu-devtools

./bootstrap.sh --prefix=/Application/usr/boost

./b2 -j4

./b2 install

percona-server-8.x.y

cmake ../percona-server-8.0.15-5/ \
-DCMAKE_INSTALL_PREFIX=/Application/usr/mysql \
-DMYSQL_UNIX_ADDR=/Application/mysql/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/Application/usr/boost/include \
-DMYSQL_DATADIR=/Application/mysql/data \
-DENABLED_PROFILING=ON \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=ON \
-DWITH_INNODB_EXTRA_DEBUG=OFF \
-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_UNIT_TESTS=OFF \
-DWITH_DEBUG=ON
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment