今天安装的是二进制的mysql包5.7.21的包,在配置文件的时候采了好多坑,左后还是搞定了,来和大家分享一下

二进制msyql5.7.21版本的主从复制安装

新建/picclife目录

mkdir  /picclife

新建/picclife/data 目录

mkdir  /picclife/data

创建用户和组 为mysql

groupadd  mysql

useradd   -g   mysql  mysql

将二进制mysql的包传到/picclife的目录下

解压软件包

tar  -zxf 二进制包

改名

mv   解压出来的包  mysql

加属组属主

chown  -R mysql:mysql  mysql

配置环境变量

vim  /etc/profile

mysql_home=/picclife/mysql

export PATH=$PATH:$mysql_home/bin

生效

source /etc/profile

编辑配置文件

vim /etc/my.cnf

[client]

port                           = 3306

socket                         = /tmp/mysql.sock

##default-character-set         = utf8

[mysql]

port                           = 3306

socket                         = /tmp/mysql.sock

#default-character-set          = utf8

[mysqld]

# GENERAL #

default_storage_engine         = InnoDB

#character-set-server           = utf8

#collation-server               = utf8_unicode_ci

basedir                        = /picclife/mysql

datadir                        = /picclife/data

socket                         = /tmp/mysql.sock

pid-file                       = /picclife/data/mysql.pid

port=3306

# SAFETY #

skip_name_resolve

max_allowed_packet             = 16M

max_connect_errors             = 100000

lower-case-table-names         = 1

# BINARY LOGGING #

server-id                      = 1             #server id

log_bin                        = mysql-bin   #开启二进制日志

relay_log                       = relay-bin    #开启中级日志

expire_logs_days               = 14

sync_binlog                    = 1

binlog_format                   = ROW

transaction_isolation           = READ-COMMITTED

relay_log_info_repository       = TABLE

master_info_repository          = TABLE

# REPLICATION #

gtid_mode                      = ON

enforce_gtid_consistency       = ON

log_slave_updates              = 1

#SEMI_SYNC

#rpl_semi_sync_master_enabled=1

#rpl_semi_sync_master_timeout=10000 # 1 second

# CACHES AND LIMITS #

tmp_table_size                 = 256M

max_heap_table_size            = 256M

query_cache_type               = 0

query_cache_size               = 0

max_connections                = 5000

thread_cache_size              = 1000

open_files_limit               = 65535

table_definition_cache         = 2048

table_open_cache               = 2048

sort_buffer_size               = 2M

sql_mode                       = NO_ENGINE_SUBSTITUTION

# INNODB #

innodb_flush_method            = O_DIRECT

innodb_log_files_in_group      = 2

innodb_log_file_size           = 256M

innodb_flush_log_at_trx_commit = 1

innodb_file_per_table          = 1

innodb_buffer_pool_size        = 10G

innodb_stats_on_metadata       = 0

innodb_buffer_pool_instances   = 4

# LOGGING #

log_error                      = /picclife/data/mysql-error.log

#log_queries_not_using_indexes  = 1

slow_query_log                 = 1

slow_query_log_file            = /picclife/data/mysql-slow.log

long_query_time                = 2

log_error_verbosity=2

wait_timeout = 7200

[mysqldump]

user=root

password=123456

安装数据库

./bin/mysqld --initialize --user=mysql --basedir=/picclfie/mysql --datadir=/picclife/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp

创建启动文件

cp  /picclife/mysql/support-files/mysql.server /etc/init.d/mysqld

修改/etc/init.d/mysql

加入到开机启动项

chkconfig --add mysqld

设置开机启动

chkconfig mysqld on

开启mysql

service mysqld start

启动也可以

(

数据库常规启停

mysqladmin -uroot -proot shutdown

mysqld_safe --defaults-file=/etc/my.cnf &

ps -ef|grep mysql

)

查看默认密码

grep -i password /picclife/data/mysql-error.log

用初始化密码登陆数据库修改密码

mysql -uroot -p查到的密码

修改密码

SET PASSWORD=PASSWORD(‘密码‘);

flush privileges;

然后推出可以用新改的密码登陆了

主的配置文件 已经修改好了,进入数据库授权

给从服务器slave复制的权限:

grant  replication  slave  on *.* to  tom@”从的ip”  identified  by  “123”;

刷新权限:

glush    privileges;

查看主服务器master的状态已得到二进制的名和位置:

show   master  status;

主就配置好了开始配置从:

从的二进制安装mysql和住的一样

就是配置文件里的server  id  不能冲突  可以开启二进制日志也可以不开启,但必须开启中继日志relay_log = mysql-relay

vim /etc/my.cnf

[client]

port                           = 3306

socket                         = /tmp/mysql.sock

##default-character-set         = utf8

[mysql]

port                           = 3306

socket                         = /tmp/mysql.sock

#default-character-set          = utf8

[mysqld]

# GENERAL #

default_storage_engine         = InnoDB

#character-set-server           = utf8

#collation-server               = utf8_unicode_ci

basedir                        = /picclife/mysql

datadir                        = /picclife/data

socket                         = /tmp/mysql.sock

pid-file                       = /picclife/data/mysql.pid

port=3306

# SAFETY #

skip_name_resolve

max_allowed_packet             = 16M

max_connect_errors             = 100000

lower-case-table-names         = 1

# BINARY LOGGING #

server-id                      = 2            #server id

log_bin                        = mysql-bin   #开启二进制日志

relay_log                       = relay-bin    #开启中级日志

expire_logs_days               = 14

sync_binlog                    = 1

binlog_format                   = ROW

transaction_isolation           = READ-COMMITTED

relay_log_info_repository       = TABLE

master_info_repository          = TABLE

# REPLICATION #

gtid_mode                      = ON

enforce_gtid_consistency       = ON

log_slave_updates              = 1

#SEMI_SYNC

#rpl_semi_sync_master_enabled=1

#rpl_semi_sync_master_timeout=10000 # 1 second

# CACHES AND LIMITS #

tmp_table_size                 = 256M

max_heap_table_size            = 256M

query_cache_type               = 0

query_cache_size               = 0

max_connections                = 5000

thread_cache_size              = 1000

open_files_limit               = 65535

table_definition_cache         = 2048

table_open_cache               = 2048

sort_buffer_size               = 2M

sql_mode                       = NO_ENGINE_SUBSTITUTION

# INNODB #

innodb_flush_method            = O_DIRECT

innodb_log_files_in_group      = 2

innodb_log_file_size           = 256M

innodb_flush_log_at_trx_commit = 1

innodb_file_per_table          = 1

innodb_buffer_pool_size        = 10G

innodb_stats_on_metadata       = 0

innodb_buffer_pool_instances   = 4

# LOGGING #

log_error                      = /picclife/data/mysql-error.log

#log_queries_not_using_indexes  = 1

slow_query_log                 = 1

slow_query_log_file            = /picclife/data/mysql-slow.log

long_query_time                = 2

log_error_verbosity=2

wait_timeout = 7200

其余的按爪功你安装和主的一样

进入数据库

进入数据库:

关闭slave:

stop   slave;

设置master的host   user  二进制的名字位置等:

change   master  to  master_host=”主的ip”,master_user=”tom”,mster_password=”123”,

master_log_file=”mysql-bin.000002”,master_log_pos=106;

开启slave

start  slave;

查看slave的状态:

现在主从复制完成,可以在主上创建库。从上查看

注意:如果以上配置文件启动报错,就使用最下面的配置

二进制mysql安装5.7.20的配置文件

vim /etc/my.cnf

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

server_id=1

port = 3306

user = mysql

character-set-server = utf8mb4

default_storage_engine = innodb

log_timestamps = SYSTEM

socket = /tmp/mysql.sock

basedir = /picclife/mysql

datadir = /picclife/data

pid-file = /picclife/data/mysql.pid

max_connections = 5000

max_connect_errors = 10000

table_open_cache = 2048

max_allowed_packet = 16M

open_files_limit = 65535

####====================================[innodb]==============================

innodb_buffer_pool_size = 10G

innodb_file_per_table = 1

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_purge_threads = 2

innodb_flush_log_at_trx_commit = 1

innodb_log_file_size = 512M

innodb_log_files_in_group = 2

innodb_log_buffer_size = 16M

innodb_max_dirty_pages_pct = 80

innodb_lock_wait_timeout = 30

innodb_data_file_path=ibdata1:1024M:autoextend

innodb_undo_tablespaces=3

#####====================================[log]==============================

log_error = /picclife/data/mysql-error.log

slow_query_log = 1

long_query_time = 2

slow_query_log_file = /picclife/data/mysql-slow.log

sql_mode=NO_ENGINE_SUBSTITUTION

二进制安装MySQL数据库的更多相关文章

  1. 二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) [root@Mysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径 [ ...

  2. CentOS下安装Mysql数据库

    其实,安装mysql数据库还是比较容易的,安装方式可以分为源码安装和二进制包安装.安装简单,只需要 yum安装几个包就可以搞定,安装后续其实还需要简单做些工作,才可以使用. 环境:CentOS 6.5 ...

  3. 二进制安装MySQL及破解密码

    二进制安装MySQL及破解密码 1.确保系统中有依赖的libaio 软件,如果没有: yum -y install libaio 2.解压二进制MySQL软件包 tar xf mysql-5.7.24 ...

  4. Linux环境安装MySQL数据库

    1.  下载mysql安装包 下载地址1:  http://www.mysql.com/   (mysql官网) 下载地址2:  http://mirrors.sohu.com/mysql/   (其 ...

  5. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

  6. Centos6.4下Yum命令安装Mysql数据库及配置

    如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了 如果要开发web项目,我们当然可以安装一个 ...

  7. Linux下安装MySQL数据库以及用C语言编程存取数据库

    ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录.不过这也不是什么太大的缺点.下面我们就用 apt-g ...

  8. Linux系统上安装mysql数据库

    一:下载并且上传安装包到linux系统上 1:下载地址:http://dev.mysql.com/downloads/mysql/ 2:通过LeapFtp工具,将windows上的mysql安装包拷贝 ...

  9. 可以自动安装mysql数据库的一个shell脚本

    发布:thatboy   来源:脚本学堂     [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...

随机推荐

  1. win7下MKVToolNix进行mkv字幕封装

    MKVToolNix下载地址(https://www.fosshub.com/MKVToolNix.html) 下载安装后打开,当时没创建桌面图标,GUI地址(C:\ProgramData\Micro ...

  2. Container的简单认识

    容器是一个标准的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境. Docker容器映像是一个轻量级,独立的可执行软件包,包含运行应用程序所需的一切:代 ...

  3. Learning-Python【29】:网络编程之粘包

    粘包问题 上一篇博客遗留了一个问题,在接收的最大字节数设置为 1024 时,当接收的结果大于1024,再执行下一条命令时还是会返回上一条命令未执行完成的结果.这就是粘包问题. 因为TCP协议又叫流式协 ...

  4. pm2 日常使用

    1. pm2 是什么? 日常开发中需要启动一个node项目,需要用npm run …,,如果终端被关掉,程序也就自动停止,有时候几个项目一起跑起来,好几个终端开着,个人不太喜欢,有一神器可以解决:pm ...

  5. Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法

    Qt 程序获取程序所在路径.用户目录路径.临时文件夹等特殊路径的方法 经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径.用户目录路径.临时文件夹等.在 Qt 中实现这几个功能所用的方法虽然都 ...

  6. Anaconda 创建环境

    2019-03-25 17:10:51 Anaconda 给不同的项目创建不同的环境真的非常重要,最近在使用flask的时候在base环境中安装flask-bootstrap,竟然将我原本的py3.7 ...

  7. 【快捷键】IntelliJ IDEA For Mac 常用快捷键

    一.符号对应关系 ⌃ control ⌥ option ⌘ command ⇧ shift 二.常用快捷键 1.control+shift+J 两行整理成一行 2.command+shift+F12 ...

  8. http与rfc

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...

  9. DFS例题

    特殊的质数肋骨(递归)] -题目描述-农民约翰的母牛总是生产出最好的肋骨.你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们. 农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋 ...

  10. 在500jsp错误页面获取错误信息

    自定义异常发生时的错误处理页面: 1) 只要定义page指示元素的errorPage属性就可以指定当前页面发生异常时应该交给哪个页面进行处理,例如:<%@page errorPage=" ...