Percona server for MySQL 8.0.13 試用
阿新 • • 發佈:2019-01-11
執行環境:
# cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
--安裝需要的軟體:
#wget https://repo.percona.com/release/7Server/RPMS/x86_64/jemalloc-3.6.0-1.el7.x86_64.rpm
# rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm
--刪除廢棄的軟體包:
# rpm -e --nodeps mariadb-libs
--按照需要的軟體:
# yum -y install net-tools libaio perl openssl openssl-devel perl-Data-Dumper perl-JSON
--軟體包列表:
# ll percona*.rpm
-rw-rw-r--. 1 root root 1501184 Dec 20 02:07 percona-mysql-router-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 9534252 Dec 20 02:07 percona-server-client-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 1219272 Dec 20 02:08 percona-server-devel-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 11594364 Dec 20 02:08 percona-server-rocksdb-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 55756068 Dec 20 02:08 percona-server-server-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 942184 Dec 20 02:08 percona-server-shared-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 1294444 Dec 20 02:08 percona-server-shared-compat-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 79378844 Dec 20 02:08 percona-server-test-8.0.13-3.1.el7.x86_64.rpm
-rw-rw-r--. 1 root root 1808508 Dec 20 02:08 percona-server-tokudb-8.0.13-3.1.el7.x86_64.rpm
--安裝過程:
# rpm -ivh percona-*.rpm
warning: percona-mysql-router-8.0.13-3.1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:percona-server-shared-compat-8.0.################################# [ 11%]
2:percona-server-shared-8.0.13-3.1.################################# [ 22%]
3:percona-server-client-8.0.13-3.1.################################# [ 33%]
4:percona-server-server-8.0.13-3.1.################################# [ 44%]
Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit.
Run the following commands to create these functions:
mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
See http://www.percona.com/doc/percona-server/8.0/management/udf_percona_toolkit.html for more details
5:percona-server-rocksdb-8.0.13-3.1################################# [ 56%]
* This release of Percona Server is distributed with RocksDB storage engine.
* Run the following script to enable the RocksDB storage engine in Percona Server:
ps-admin --enable-rocksdb -u <mysql_admin_user> -p[mysql_admin_pass] [-S <socket>] [-h <host> -P <port>]
6:percona-server-tokudb-8.0.13-3.1.################################# [ 67%]
* This release of Percona Server is distributed with TokuDB storage engine.
* Run the following script to enable the TokuDB storage engine in Percona Server:
ps-admin --enable-tokudb -u <mysql_admin_user> -p[mysql_admin_pass] [-S <socket>] [-h <host> -P <port>]
* See http://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_installation.html for more installation details
* See http://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_intro.html for an introduction to TokuDB
7:percona-server-devel-8.0.13-3.1.e################################# [ 78%]
8:percona-server-test-8.0.13-3.1.el################################# [ 89%]
9:percona-mysql-router-8.0.13-3.1.e################################# [100%]
# systemctl start mysqld.service
# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-12-23 02:11:41 CST; 9s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 2209 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 2288 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─2288 /usr/sbin/mysqld
Dec 23 02:11:36 oracle.example.com systemd[1]: Starting MySQL Server...
Dec 23 02:11:41 oracle.example.com systemd[1]: Started MySQL Server.
--由於試用預設的rpm安裝方式安裝,初次啟動的是會隨機生成一個密碼:
# cat /var/log/mysqld.log | grep password -i
2018-12-22T18:11:38.271398Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: ;nS=;Vcd(4?#
--初次登入需要修改密碼:
mysql> select host,user,authentication_string from mysql.user;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user [email protected]'localhost' identified by '[email protected] ';
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,authentication_string from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| host | user | authentication_string |
+-----------+------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
-sS{97h-Uy>Cfp7fK4tAl1dh8EEaj0QVgG5fS/5JkGrXqr4k8AhBFExq8 |
+-----------+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
--檢視比較關注的幾個預設引數:
mysql> show variables like '%lower%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
+------------------------+-------+
2 rows in set (0.01 sec)
mysql> show variables like 'sql_mode';
+---------------+-----------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-----------------------------------------------------------------------------------------------------------------------+
| sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+---------------+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show variables like 'char%';
+--------------------------+-------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/percona-server/charsets/ |
+--------------------------+-------------------------------------+
8 rows in set (0.01 sec)
mysql> show variables like 'coll%';
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
3 rows in set (0.00 sec)
--密碼複雜度檢查:
mysql> show variables like '%valid%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
--預設的認證外掛:
mysql> show variables like '%authen%';
+-------------------------------+-----------------------+
| Variable_name | Value |
+-------------------------------+-----------------------+
| default_authentication_plugin | caching_sha2_password |
+-------------------------------+-----------------------+
1 row in set (0.00 sec)
--建立可遠端登入的使用者:
mysql> create user [email protected]'%' identified with mysql_native_password by '[email protected]' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on *.* to [email protected]'%' with grant option;
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,authentication_string,plugin from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host | user | authentication_string | plugin |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| % | root | *CDE34B421ABC43ECC45C8628B0F4CC0B3DFDAEEA | mysql_native_password |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
-sS{97h-Uy>Cfp7fK4tAl1dh8EEaj0QVgG5fS/5JkGrXqr4k8AhBFExq8 | caching_sha2_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
5 rows in set (0.00 sec)
--遠端登入測試:
# mysql -h 192.168.3.113 -uroot -p -P3306
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.13-3 |
+-----------+
1 row in set (0.00 sec)
-- 程序和埠檢視:
# netstat -nutlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 854/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1009/master
tcp6 0 0 :::33060 :::* LISTEN 2288/mysqld
tcp6 0 0 :::3306 :::* LISTEN 2288/mysqld
tcp6 0 0 :::22 :::* LISTEN 854/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1009/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 675/dhclient
[[email protected] soft]# ps -ef | grep -i mysql
mysql 2288 1 0 02:11 ? 00:00:10 /usr/sbin/mysqld
root 3239 1141 0 02:30 pts/0 00:00:00 grep --color=auto -i mysql