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]# chown -R mysql.mysql /mysql_log_57/
编辑配置文件
[root@localhost mysql_software_57]# vim /etc/my.cn
初始化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 &
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.
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/
[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
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
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)
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-2136501/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26506993/viewspace-2136501/