1、建立用户和组

sudo groupadd mysql
sudo useradd -g mysql -s /sbin/nologin mysql

2、下载二进制包Percona-Server-5.7.25-28-Linux.x86_64.ssl101.tar.gz。解压,并移至安装目录

tar -zxvf Percona-Server-5.7.25-28-Linux.x86_64.ssl101.tar.gz
sudo mv Percona-Server-5.7.25-28-Linux.x86_64.ssl101 /usr/local/mysql

3、卸载本机自带的数据库

sudo yum remove mariadb-libs

4、编辑配置文件

sudo vim /etc/my.cnf


[mysqld]
default_time_zone = "+8:00"
skip-name-resolve
basedir=/usr/local/mysql
datadir=/data/mysql_data
socket=/data/mysql_log/mysql.sock
server-id=216130
event_scheduler=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
master_info_repository = TABLE
relay_log_info_repository = TABLE
gtid_mode = on
enforce_gtid_consistency = 1


##############################################################################################################
#LOGS CONFIG
##############################################################################################################
log_timestamps = SYSTEM
slow_query_log
long_query_time = 2
slow_query_log_file=/data/mysql_log/slow.log
binlog_format=ROW
log_bin=mysql-binlog
log_slave_updates
sync_binlog = 1
expire_logs_days=3
log-bin = /data/mysql_log/mybinlog
log-error = /data/mysql_log/error.log
innodb_max_undo_log_size = 512M
innodb_undo_directory = /data/mysql_log/undolog
innodb_undo_tablespaces = 95
innodb_undo_logs = 128


##############################################################################################################
#CONNECTION && SESSION CONFIG
##############################################################################################################
max_connections = 512
back_log = 500
max_connect_errors = 100
interactive_timeout=1000
connect_timeout=1000
wait_timeout=100
character_set_server=utf8mb4
thread_stack = 192K
thread_cache_size=64


##############################################################################################################
#TABLE && QUERY CONFIG
##############################################################################################################
table_open_cache = 40960
max_allowed_packet = 32M
max_heap_table_size = 64M
sort_buffer_size = 8M
join_buffer_size = 8M
query_cache_type = 0
query_cache_size = 0
query_cache_limit = 2M
ft_min_word_len = 2
default-storage-engine = innodb
transaction_isolation = REPEATABLE-READ
tmp_table_size = 32M
innodb_open_files=40960
open_files_limit=82930


##############################################################################################################
#MYISAM CONFIG
##############################################################################################################
key_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 500M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 512M
myisam_repair_threads = 2
explicit_defaults_for_timestamp


##############################################################################################################
#INNODB CONFIG
##############################################################################################################
innodb_buffer_pool_size = 512M  # 重要参数,物理内存的75%左右
innodb_buffer_pool_instances=4
innodb_page_cleaners=4
innodb_purge_threads = 4
innodb_data_file_path = ibdata1:256M:autoextend
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 8M
innodb_log_files_in_group=5
innodb_log_file_size=500m
innodb_flush_method = O_DSYNC
innodb_lock_wait_timeout = 120
innodb_file_per_table=1
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
internal_tmp_disk_storage_engine = InnoDB
innodb_rollback_on_timeout = 1


#############################################################################################################
#REPLICATION CONFIG
##############################################################################################################
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=performance_schema.%
replicate-wild-ignore-table=dbcfg.%
replicate-wild-ignore-table=test.%
skip-slave-start


[mysqld_safe]
log-error=/data/mysql_log/error.log
pid-file=/data/mysql_log/mysqld.pid


[client]
socket = /data/mysql_log/mysql.sock


[mysql]
prompt="\u@db01 [\d]> "

 

5、创建相应文件夹,并赋权限

sudo mkdir -p /data/{mysql_log,mysql_data}
sudo chown mysql. -R /data
sudo chown mysql. -R /usr/local/mysql/

6、初始化

cd /usr/local/mysql/bin
sudo ./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

其中初始化密码打印屏幕中

--17T02::.361433Z  [Note] A temporary password is generated for root@localhost: pp!NIfqgG1ZO

7、配置环境变量

sudo vim /etc/bashrc

添加

export PATH=$PATH:/usr/local/mysql/bin

生效

source /etc/bashrc

8、配置服务

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

更改其中的

sudo vim /etc/init.d/mysqld
=======
basedir=/usr/local/mysql
datadir=/data/mysql_data

9、启动服务,加入自启

sudo service mysqld start
sudo chkconfig --add mysqld

10、发现连接报错

mysql -uroot -p -S /data/mysql_log/mysql.sock
Enter password:
ERROR (HY000): Can't connect to local MySQL server through socket '/data/mysql_log/mysql.sock' (13)

原因是/data/mysql,我的用户无法连接到该目录中。所以需要赋权

sudo chmod  /data/mysql_log/

ok,问题解决

11、

/usr/local/mysql/bin/mysql --socket=/data/mysql_log/mysql.sock -uroot -p

输入密码,更改初始密码

alter user root@localhost identified by '';

创建一个主从复制账户

create user 'DB101'@'192.168.20.101' identified by '';
grant REPLICATION SLAVE on *.* to 'DB101'@'192.168.20.101';

12、在192.168.20.101中操作,发现无法连接。

mysql -h192.168.20.100 -uDB101 -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.20.100' (113)

使用telnet,发现3306端口无法通信。所以需要更改防火墙策略

sudo firewall-cmd --zone=public --add-port=/tcp --permanent
sudo firewall-cmd --reload

问题解决

安装遇到问题:

 1、初始化时候报错

sudo ./mysqld --initialize --user=mysql
./mysqld: error while loading shared libraries: libaio.so.: cannot open shared object file: No such file or directory

解决办法

sudo yum localinstall ~/libaio-0.3.-.el7.x86_64.rpm

我这边是无网络环境,所以先从其他地方下载安装包,本地进行安装

2、percona提供的安装文件,密码是不会打印在屏幕中的,需要自己查找。路径是数据目录的err.log

cat /data/mysql_log/error.log

percona 5.7二进制安装的更多相关文章

  1. mysql二进制安装,升级,多实例部署

    目标 理解线上部署考虑的因素 学会编译安装以及二进制安装mysql 学会升级mysql 学会多实例部署mysql数据库 学会合理部署mysql线上库   考虑因素: 版本选择,5.1,5.5还是5.6 ...

  2. ubuntu14.04下简易二进制安装mysql

    下载mysql-commnunity的5.6.24通用二进制版 tar解压 我安装到/opt目录,所以mv到/opt/ 可选,建了个软链 ln -s *** mysql 添加运行mysql服务的用户和 ...

  3. mysql5.6 通用二进制安装

    mysql5.6 通用二进制安装: #卸载原有的mysqlyum remove mysql*ls /etc/my.cnf*mv /etc/my.cnf* /tmp/ #安装依赖包yum install ...

  4. CentOS 6.2 二进制安装apache2.4.3出现configure: error: APR-util not found. Please read the documentation的解决方

    CentOS 6.2 二进制安装apache2.4.3出现configure: error: APR-util not found. Please read the documentation的解决方 ...

  5. CentOS6+MySQL5.6二进制安装

    一般我们安装mysql采用二进制安装的方式就足以满足我们的生产环境了,不过需要我们配置my.cnf文件 从官网下载二进制MySQL,选择Linux-Generic,最后这两个是二进制包 http:// ...

  6. Mysql的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  7. centos 7.3二进制安装mariadb10.2.8完美步骤

    (1)在centos7系统上,yum info mariadb可以找到提供mariadb包的官方网站,在到官方网站下载最新的mariadb包,然后rz到linux系统上去 (2)准备用户 1.user ...

  8. Linux中MySQL5.6编译安装与MySQL5.7二进制安装步骤

    首先,介绍一下MySQL的几种安装方式 1.RPM.Yum 的安装方式:安装方便.安装速度快,无法定制 2.二进制:不需要安装,解压即可使用,不能定制功能 3.编译安装:可定制,安装慢. 编译安装中需 ...

  9. Centos7 二进制安装 Kubernetes 1.13

    目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...

随机推荐

  1. 进程句柄和进程ID的区别和关系

    进程和进程句柄和进程id含义 进程是一个正在运行的程序,进程里可以包括多个模块(DLL,OCX,等)进程句柄是程序访问时用到的东西,当前进程句柄等于主模块的句柄,当你使用OpenProcess时的进程 ...

  2. pycharm的自定义python模板

    #!/usr/bin/env python # encoding: utf-8 #set( $SITE = "http://blog.csdn.net/morgana" ) &qu ...

  3. 使用JAVA实现模拟登陆并发送新浪微博(非调用新浪API)

    没有调用新浪的API,在程序中加入自己的帐号和密码就能发送微博,代码完全在后台运行,不用打开浏览器. 用了HtmlUnit这个库来模拟登录还有发送微博. 先上效果图: 这个是刚登陆上获取第一页的信息. ...

  4. leetcode908

    int smallestRangeI(vector<int>& A, int K) { int min = INT_MAX; int max = INT_MIN; for (aut ...

  5. Delphi Help

    http://docwiki.embarcadero.com/CodeExamples/Seattle/en/Category:Content_by_Version

  6. 判定元素是否刚插入到DOM树

    上接<这篇博文>,其应用于avalon的if绑定.如果一个节点还没有插入DOM树,那么avalon将延时对它进行扫描渲染,直到它再次插入到DOM树为止.由于CSS3 keyframe动画的 ...

  7. Javamelody部署手册

    Javamelody部署手册 1.  Javamelody下载 下载地址:http://code.google.com/p/javamelody/downloads/list(注:需要FQ才能打开下载 ...

  8. c++多线程编程(一)

    C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数 HANDLE CreateThread( ...

  9. mongo_2 $in 和 $all 区别

    in 只需满足( )内的某一个值即可, 而$all 必须满足[ ]内的所有值, > db.table1.find({}); { "_id" : ObjectId(" ...

  10. 关于equal和toString方法的实验报告

    一 实验目的 了解equal和toString方法 二 实验软件环境 操作系统:windows xp java version: "1.7.0_51" 开发工具:Eclipse S ...