加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何在Linux上使用Percona MySQL 5.7安装通用的二进制包

发布时间:2023-11-06 13:44:04 所属栏目:MySql教程 来源:
导读:小编给大家分享一下Percona MySQL 5.7 Linux如何通用二进制包安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL对libaio库

小编给大家分享一下Percona MySQL 5.7 Linux如何通用二进制包安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

MySQL对libaio库有依赖关系,如果没有这个包,数据目录初始化和接下来的服务启动会失败。

yum install libaio

创建软件安装目录

mkdir /mysql_software_57

下载软件

Percona官网的下载页面有两个二进制Tar包,分别对应不同的发行版本

ssl100 - Debian/Ubuntu

ssl101 - for CentOS 6 and CentOS 7

cd /mysql_software

wget https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.17-11/binary/tarball/Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz

解压安装包

[root@localhost mysql_software_57]# tar xvfz Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz

[root@localhost mysql_software_57]# ls

Percona-Server-5.7.17-11-Linux.x86_64.ssl101

Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz

[root@localhost mysql_software_57]# rm -rf Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz 

[root@localhost mysql_software_57]# ls

Percona-Server-5.7.17-11-Linux.x86_64.ssl101

[root@localhost mysql_software_57]# mv Percona-Server-5.7.17-11-Linux.x86_64.ssl101/* .

[root@localhost mysql_software_57]# rmdir Percona-Server-5.7.17-11-Linux.x86_64.ssl101/

创建mysql用户

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql

创建数据目录和日志目录

[root@localhost mysql_software_57]# mkdir /mysql_data_57

[root@localhost mysql_software_57]# mkdir /mysql_log_57

[root@localhost mysql_software_57]# chmod 750 /mysql_data_57/

[root@localhost mysql_software_57]# chown -R mysql.mysql /mysql_data_57/

[root@localhost mysql_software_57]# chown -R mysql.mysql /mysql_log_57/

编辑配置文件

[root@localhost mysql_software_57]# vim /etc/my.cn

点击(此处)折叠或打开

[client]

port                              = 3306

socket                             = /mysql_data_57/mysql.sock

[mysqld]

#MySQL Server layer basic setting

server-id                           = 1

port                              = 3306

socket                             = /mysql_data_57/mysql.sock

#MySQL Server layer directory setting

basedir                            = /mysql_software_57

datadir                            = /mysql_data_57

tmpdir                             = /mysql_data_57

#MySQL Server layer connection setting

max_connections                    = 900

#MySQL Server layer connection setting

max_connections                    = 900

max_connect_errors                   = 100000

max_allowed_packet                   = 16M

back_log                            = 50

#MySQL Server layer binlog setting

log_bin_trust_function_creators    = on

expire_logs_days                    = 5

binlog_cache_size                   = 1M

log-bin                            = /mysql_log_57/mysql-bin

binlog_format                     = mixed

#MySQL Server layer memory management setting

tmp_table_size                     = 64M

max_heap_table_size                  = 64M

read_buffer_size                    = 2M

read_rnd_buffer_size              = 16M

sort_buffer_size                    = 8M

join_buffer_size                    = 16M

query_cache_size                    = 0

thread_stack                      = 192K

query_cache_size                    = 0

thread_stack                      = 192K

#MySQL Server layer transaction management setting

transaction_isolation             = READ-COMMITTED

autocommit                           = OFF

#MySQL Server layer log related setting

log_warnings                      = 2                      ##this value have been the default value in MySQL 5.7

slow_query_log                     = ON

long_query_time                    = 2

slow_query_log_file                  = /mysql_log_57/mysql-slow.log

#log_queries_not_using_indexes     = 1

#MySQL Server layer other behaviour setting

sql_mode                            = PIPES_AS_CONCAT,IGNORE_SPACE,STRICT_TRANS_TABLES

event_scheduler                    = ON

lower_case_table_names             = 1

explicit_defaults_for_timestamp    = ON

default-storage-engine             = INNODB

explicit_defaults_for_timestamp    = ON

default-storage-engine             = INNODB

##ft_min_word_len                   = 4

# Statistic

# userstat                           = ON

# thread_statistics                  = ON

# End statistics

# MyISAM Engine related setting

key_buffer_size                    = 32M

bulk_insert_buffer_size            = 64M

myisam_sort_buffer_size            = 128M

myisam_max_sort_file_size           = 10G

myisam_repair_threads             = 1

#myisam_recover

#InnoDB Engine related setting

#InnoDB memory management related setting

innodb_buffer_pool_size            = 2G

innodb_max_dirty_pages_pct           = 90

innodb_sync_array_size             = 16

innodb_max_dirty_pages_pct           = 90

innodb_sync_array_size             = 16

#table open cache related

table_open_cache                    = 4096

table_open_cache_instances           = 16

#innodb_additional_mem_pool_size    = 16M     ##This variable have been removed MySQL 5.7

#innodb_numa_interleave            = 1  ##Only work with Percona 5.6.27 and later

##InnoDB engine I/O related setting

innodb_write_io_threads            = 8

innodb_read_io_threads             = 8

innodb_flush_method                  = O_DIRECT

#InnoDB engine File management related setting

innodb_data_file_path             = ibdata1:12M:autoextend    #10M-->12M, 12M is default values, it is meaningless to set it to 10M

innodb_file_per_table             = 1  #this value have been the default value in MySQL 5.7

innodb_data_file_path             = ibdata1:12M:autoextend    #10M-->12M, 12M is default values, it is meaningless to set it to 10M

innodb_file_per_table             = 1  #this value have been the default value in MySQL 5.7

innodb_file_format                   = Barracuda #this value have been the default value in MySQL 5.7

#InnoDB engine undo log related setting

innodb_undo_directory             = /mysql_data_57

innodb_undo_tablespaces            = 4

innodb_purge_batch_size            = 5000

innodb_purge_threads              = 8

#InnoDB engine redo log related setting

innodb_flush_log_at_trx_commit     = 2

innodb_log_buffer_size             = 8M

innodb_log_file_size              = 256M

innodb_log_files_in_group           = 3

innodb_log_group_home_dir           = /mysql_log_57

#InnoDB engine lock and transaction management setting

innodb_lock_wait_timeout            = 120

innodb_lock_wait_timeout            = 120

#InnoDB engine other behaviour setting

innodb_large_prefix                  = ON   ##this value have been the default value in MySQL 5.7

innodb_strict_mode                   = ON    ##this value have been the default value in MySQL 5.7

innodb_checksum_algorithm           = crc32 ##this value have been the default value in MySQL 5.7

[mysqldump]

quick

max_allowed_packet                   = 16M

[mysql]

no-auto-rehash

# Only allow UPDATEs and DELETEs that use keys.

#safe-updates

[myisamchk]

key_buffer_size                    = 512M

sort_buffer_size                    = 512M

key_buffer_size                    = 512M

sort_buffer_size                    = 512M

read_buffer                      = 8M

write_buffer                      = 8M

[mysqlhotcopy]

interactive-timeout

[mysqld_safe]

# Increase the amount of open files allowed per process. Warning: Make

# sure you have set the global system limit high enough! The high value

# is required for a large number of opened tables

open-files-limit                    = 8192

log-error                           = /mysql_log_57/mysqld_error.log

初始化MySQL数据库的数据文件路径,并且创建系统表

5.7.6及以上版本,要使用mysqld来初始化数据库

[root@localhost mysql_software_57]# bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql

...

2017-04-02T07:54:13.022906Z 0 [Note] Shutting down slave threads

2017-04-02T07:54:13.022915Z 0 [Note] Forcefully disconnecting 0 remaining clients

2017-04-02T07:54:13.068736Z 0 [Note] Binlog end

2017-04-02T07:54:13.072400Z 0 [Note] InnoDB: FTS optimize thread exiting.

2017-04-02T07:54:13.072548Z 0 [Note] InnoDB: Starting shutdown...

2017-04-02T07:54:13.173584Z 0 [Note] InnoDB: Dumping buffer pool(s) to /mysql_data_57/ib_buffer_pool

2017-04-02T07:54:13.174062Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 170402 0:54:13

2017-04-02T07:54:14.956340Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool

2017-04-02T07:54:16.679052Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2411492

2017-04-02T07:54:16.679587Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"

启动数据库

[root@localhost mysql_software_57]# bin/mysqld_safe --defaults-file=/etc/my.cnf &

[root@localhost mysql_software_57]# 2017-04-02T08:02:36.065640Z mysqld_safe Logging to '/mysql_log_57/mysqld_error.log'.

2017-04-02T08:02:36.068876Z mysqld_safe error: log-error set to '/mysql_log_57/mysqld_error.log', however file don't exists. Create writable for user 'mysql'.

[1]+ Exit 1         bin/mysqld_safe --defaults-file=/etc/my.cnf

日志文件不存在报错,手动创建日志文件

[root@localhost mysql_log_57]# su - mysql

[mysql@localhost ~]$ cd /mysql_log_57/

[mysql@localhost mysql_log_57]$ touch mysqld_error.log

再次启动数据库

[root@localhost mysql_software_57]# bin/mysqld_safe --defaults-file=/etc/my.cnf &

[1] 37100

[root@localhost mysql_software_57]# 2017-04-02T08:03:44.853263Z mysqld_safe Logging to '/mysql_log_57/mysqld_error.log'.

2017-04-02T08:03:44.857901Z mysqld_safe Logging to '/mysql_log_57/mysqld_error.log'.

2017-04-02T08:03:44.922034Z mysqld_safe Starting mysqld daemon with databases from /mysql_data_57

更改root密码

[root@localhost mysql_software_57]# bin/mysql -uroot -p

Enter password: 

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.17-11-log Percona Server (GPL), Release 11, Revision f60191c

Copyright (c) 2009-2016 Percona LLC and/or its affiliates

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

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

mysql> set password = password('root');

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

以上是“Percona MySQL 5.7 Linux如何通用二进制包安装”这篇文章的所有内容,感谢各位的阅读!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章