返回顶部
首页 > 资讯 > 数据库 >mysql master-slave mycat 安装简明教程
  • 334
分享到

mysql master-slave mycat 安装简明教程

2024-04-02 19:04:59 334人浏览 薄情痞子
摘要

一、数据库基本安装1.down Mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz2.install# yum install -y perl perl-Data-Dump

一、数据库基本安装


1.down Mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz


2.install

# yum install -y perl perl-Data-Dumper libaio

# mv mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz /usr/local/

# cd /usr/local/

# tar zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz 

# mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql-5.6.37

# rm -rf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz 

# groupadd mysql

# useradd -r -g mysql mysql

# chown mysql.mysql -R mysql-5.6.37/

# mkdir /home/mysql

# chown mysql.mysql /home/mysql/



3.configure conf

# cd /usr/local/mysql-5.6.37/

# cp support-files/my-default.cnf /etc/my.cnf

cp: overwrite ‘/etc/my.cnf’? y


4.boot configure

# cp support-files/mysql.server /etc/init.d/mysql

# chmod +x /etc/init.d/mysql 

# chkconfig --add mysql

# vi /etc/init.d/mysql

### 配置补全变量 ###

basedir=/usr/local/mysql-5.6.37

datadir=/usr/local/mysql-5.6.37/data


5.env setting


# vim /etc/profile

export MYSQL_HOME=/usr/local/mysql-5.6.37

export PATH=$PATH:$MYSQL_HOME/bin


6. configure file

# vi /etc/my.cnf


[mysqld]

character_set_server = utf8

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


# GENERAL

datadir = /usr/local/mysql-5.6.37/data

Socket = /usr/local/mysql-5.6.37/mysql.sock

pid_file = /usr/local/mysql-5.6.37/mysql.pid

user = mysql

port = 3306

bind_address = 0.0.0.0  


# INNODB

default-storage-engine = InnoDB

innodb_file_per_table = 1

innodb_buffer_pool_size = 800MB

innodb_log_file_size = 256MB

innodb_file_per_table = 1

innodb_flush_method = O_DIRECT

innodb_flush_log_at_trx_commit = 2  

sync_binlog = 20


# MyISAM

myisam_recover=default 

key_buffer_size = 200MB


# LOGGING

log_error = /usr/local/mysql-5.6.37/mysql-error.log

slow_query_log = 1

long_query_time = 0.5

slow_query_log_file = /usr/local/mysql-5.6.37/mysql-slow.log


# BINLOG

log_bin = mysql-bin  

binlog_fORMat = mixed

expire_logs_days = 30


# MASTER

# server-id=1


# SLAVE

# server_id = 2

# relay_log = mysql-relay-bin

# log_slave_updates = 1

# read_only = 1


# OTHER

skip_name_resolve

max_connect_errors = 5000

tmp_table_size = 32M

max_heap_table_size = 32M

query_cache_type = 0

query_cache_size = 0

max_connections = 5000

thread_cache_size = 64

open_files_limit = 65535

max_allowed_packet = 64M 


[client]

default_character_set=utf8

socket = /usr/local/mysql-5.6.37/mysql.sock

port = 3306


7.init db

# su - mysql

Last login: Tue Sep  5 14:26:36 CST 2017 on pts/0

-bash-4.2$ cd /usr/local/mysql-5.6.37

-bash-4.2$ scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.37 --datadir=/usr/local/mysql-5.6.37/data

-bash-4.2$ exit

loGout


9.启动mysql

# service mysql start


8.登录mysql及改密码与配置远程访问

#登录mysql,密码为空

# mysql -u root -p     

#允许root用户远程访问

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_passWord' WITH GRANT OPTION;     

#刷新权限

mysql>FLUSH PRIVILEGES;     

mysql>exit


二、配置master-slave

1.参数区别

server_id、server_uuid均不同

master

[mysqld]

log-bin=mysql-bin

server-id=1


slave (/etc/my.cnf)

[mysqld]

log_bin = mysql-bin

server_id = 2

relay_log = mysql-relay-bin

log_slave_updates = 1

read_only = 1



1).master


mysql> show variables like 'server%';

+----------------+--------------------------------------+

| Variable_name  | Value                                |

+----------------+--------------------------------------+

| server_id      | 1                                    |

| server_id_bits | 32                                   |

| server_uuid    | 4875d4d5-9211-11e7-90ac-000c29e56ccc |

+----------------+--------------------------------------+

3 rows in set (0.04 sec)


mysql> 

mysql> 


2).salve


mysql> show variables like 'server%';

+----------------+--------------------------------------+

| Variable_name  | Value                                |

+----------------+--------------------------------------+

| server_id      | 2                                    |

| server_id_bits | 32                                   |

| server_uuid    | eb40bb6a-920d-11e7-9096-000c29e0d6fa |

+----------------+--------------------------------------+

3 rows in set (0.04 sec)


mysql> 



2.master建立复制用户


mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000003 |      120 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)


mysql> grant replication slave,replication client on *.* to  'replic_user'@'172.16.3.%' identified by 'repl123456';

Query OK, 0 rows affected (0.28 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.29 sec)


mysql> 



3.slave设置复制起始位置



mysql> CHANGE MASTER TO MASTER_HOST='172.16.3.226',

    -> MASTER_PORT=3306,

    -> MASTER_USER='replic_user',

    -> MASTER_PASSWORD='repl123456',

    -> MASTER_LOG_FILE='mysql-bin.000003',

    -> MASTER_LOG_POS=120;

Query OK, 0 rows affected, 2 warnings (0.28 sec)


mysql> start slave;

Query OK, 0 rows affected (0.31 sec)


mysql> show slave status\G;

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 172.16.3.226

                  Master_User: replic_user

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000003

          Read_Master_Log_Pos: 433

               Relay_Log_File: mysql-relay-bin.000002

                Relay_Log_Pos: 596

        Relay_Master_Log_File: mysql-bin.000003

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: 

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 0

                   Last_Error: 

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 433

              Relay_Log_Space: 769

              Until_Condition: None

               Until_Log_File: 

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File: 

           Master_SSL_CA_Path: 

              Master_SSL_Cert: 

            Master_SSL_Cipher: 

               Master_SSL_Key: 

        Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 1

                  Master_UUID: 4875d4d5-9211-11e7-90ac-000c29e56ccc

             Master_Info_File: /usr/local/mysql-5.6.37/data/master.info

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

           Master_Retry_Count: 86400

                  Master_Bind: 

      Last_IO_Error_Timestamp: 

     Last_SQL_Error_Timestamp: 

               Master_SSL_Crl: 

           Master_SSL_Crlpath: 

           Retrieved_Gtid_Set: 

            Executed_Gtid_Set: 

                Auto_Position: 0

1 row in set (0.00 sec)


ERROR: 

No query specified


master建立测试


mysql> create database db1;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.3.%' IDENTIFIED BY '123456' WITH GRANT OPTION;

Query OK, 0 rows affected (0.29 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)


mysql> 

mysql> 



三、安装mycat


1.安装Java


提示:mycat正常应该独立一台机器

共3台主机

master(172.16.3.226),

slave(172.16.3.228),

mycat(172.16.3.229)


jdk-8u144-linux-x64.tar.gz 

Http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

# cd /opt/

# tar zxvf jdk-8u144-linux-x64.tar.gz 

# rm -rf jdk-8u144-linux-x64.tar.gz


# vi /etc/profile


### normal add stand alone ###

export JAVA_HOME=/opt/jdk1.8.0_144

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin



[root@masterdb ~]# java -version

java version "1.8.0_144"

Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

[root@masterdb ~]#


2.安装mycat

# cd /opt

Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

官网地址:http://dl.mycat.io/1.6-RELEASE/

# tar -xvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

# rm -rf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 

# groupadd mycat

# useradd -g mycat mycat

# chown -R mycat:mycat mycat/


3.mycat 登录流程


firewall--> user (logical user)--> schemas(logical db) --> 

datanode(physical db/logical host) --> dataHost(logical host)

-->writeHost or readHost(physical host)



# cd /opt/mycat/conf/


# vi server.xml 

.......

.......

.......

        </system>


        <!-- 全局SQL防火墙设置 -->

        <!-- 

        <firewall> 

           <whitehost>

              <host host="172.16.3.229" user="mycat"/>

           </whitehost>

       <blacklist check="false">

       </blacklist>

        </firewall>

        -->


        <user name="mycat">

                <property name="password">mycat123456</property>

                <property name="schemas">TESTDB</property>

        </user>


</mycat:server>

        

[root@mycat conf]# more schema.xml 

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">


        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">

        </schema>

        <dataNode name="dn1" dataHost="localhost1" database="db1" />

        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"

                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                <!-- can have multi write hosts -->

                <writeHost host="hostM1" url="172.16.3.226:3306" user="root"

                                   password="123456">

                        <!-- can have multi read hosts -->

                        <readHost host="hostS1" url="172.16.3.228:3306" user="root" password="123456" />

                </writeHost>

        </dataHost>

</mycat:schema>

[root@mycat conf]#  


# vi /etc/profile

export MYCAT_HOME=/opt/mycat

export PATH=$MYCAT_HOME/bin:$PATH:$JAVA_HOME/bin



4.安装MySQL软件


# cd /opt

# tar zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz

# mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql-5.6.37

# vi /etc/profile


export JAVA_HOME=/opt/jdk1.8.0_144

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export MYCAT_HOME=/opt/mycat

export MYSQL_HOME=/opt/mysql-5.6.37

export PATH=$MYCAT_HOME/bin:$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin



5.启动mycat

[root@masterdb ~]#  mycat start

Starting Mycat-server...

[root@masterdb ~]# 

        

6.测试使用


[root@mycat conf]# mysql -u mycat -h 172.16.3.229 -P 8066 -pmycat123456 -D TESTDB

Warning: Using a password on the command line interface can be insecure.

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


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

Your MySQL connection id is 3

Server version: 5.6.29-mycat-1.6-RELEASE-20161028204710 MyCat Server (OpenCloundDB)


Copyright (c) 2000, 2017, 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> select * from t1;

Empty set (0.28 sec)


mysql> insert into t1 values(1,'Peter'),(2,'Chris');

Query OK, 2 rows affected (0.06 sec)

Records: 2  Duplicates: 0  Warnings: 0


mysql> select * from t1;

+------+-------+

| id   | name  |

+------+-------+

|    1 | Peter |

|    2 | Chris |

+------+-------+

2 rows in set (0.01 sec)


mysql> 


您可能感兴趣的文档:

--结束END--

本文标题: mysql master-slave mycat 安装简明教程

本文链接: https://lsjlt.com/news/40583.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql master-slave mycat 安装简明教程
    一、数据库基本安装1.down mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz2.install# yum install -y perl perl-Data-Dump...
    99+
    2024-04-02
  • Sklearn安装(简明教程)
    一、准备 python和windows10系统 在安装sklearn之前,需要安装两个库,即numpy+mkl和scipy。 二、scipy安装 和普通库安装方式一样,这里采用pip安装。 pip i...
    99+
    2023-09-13
    sklearn python 机器学习
  • mycat教程(一) —— 安装
    Mycat 是什么?从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的 Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端...
    99+
    2024-04-02
  • mysql 8.0.12 简单安装教程
    本文为大家分享了mysql 8.0.12 安装教程,供大家参考,具体内容如下 下载地址:地址链接 现在最下边的社区版本,也就是免费版本 之后我们会看到有两个选择的下载,一个为zip压缩包格式,一个是Ins...
    99+
    2024-04-02
  • CentOS安装mysql简单教程
    环境说明 操作系统:CentOS Linux release 7.9.2009 (Core)本次安装MySQL版本:8.0.26连接工具:xshell、xftp(或者其他连接/上传工具) 开始 1、查看centos7中是否有MariaDB,...
    99+
    2023-09-06
    mysql centos 数据库
  • 简明易懂的Linux CentOS PHP7安装教程
    Linux CentOS系统是一种广泛使用的操作系统,而PHP7又是一种常见的服务器端脚本语言。将它们结合起来,可以实现许多强大的网络应用。本文将向您介绍如何在Linux CentOS...
    99+
    2024-03-07
    linux php centos php脚本
  • SSMA——MySQL到MsSQL的迁移助手安装使用简明教程
    SQL Server迁移助手(SSMA)团队开发了针对MySQL的迁移助手Microsoft SQL Server Migration Assistant 2008 for MySQL。微软同时发布了其他三...
    99+
    2024-04-02
  • MyCat教程三:安装及配置介绍
    一、安装MyCat 1.安装准备环境 1.1 安装JDK   因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的。 1.2 放开相关端口   在主从节点上都放开对端口3306...
    99+
    2015-06-08
    MyCat教程三:安装及配置介绍
  • MySQL分布式集群MyCAT(一) 简介及安装
    MyCAT背景       MyCAT的前身,是阿里巴巴于2012年6月19日,正式对外开源的数据库中间件Cobar,Cobar的前身...
    99+
    2024-04-02
  • Linux-安装MySQL(详细教程,超简单!)
    Linux-安装MySQL(详细教程,超简单!) 文章目录 Linux-安装MySQL(详细教程,超简单!)前言一、MySQL是什么?二、安装步骤1更新Ubuntu软件包源列表2.安装 MyS...
    99+
    2023-09-26
    linux mysql ubuntu 大数据
  • Mysql安装包安装教程(亲测简单高效版)
    Mysql安装包安装教程(亲测简单高效版) 安装流程mysql安装SQLyog安装 安装流程 mysql安装 下载mysql,官方地址:mysql官网 2.解压mysql安装包到任意目录下 3.新建my.ini文件 4...
    99+
    2023-08-17
    java mysql 数据库
  • MySQL安装教程
    mysql安装教程提前准备mysql安装包(下载地址:http://mirrors.sohu.com/mysql/MySQL-5.6/)这里小编用的是:mysql-5.6.34-linux-glibc2.5...
    99+
    2024-04-02
  • 【软件安装教程】MySQL 的简单使用
    【目录】 1、将MySQL服务 制作成windows服务 2、设置密码 3、忘记密码(破解密码)   【Windows系统】 1、将MySQL服务 制作成windows服务(即 可以开机自启动) 补充:cmd 1 如何查看当...
    99+
    2014-08-23
    【软件安装教程】MySQL 的简单使用
  • Mysql 8.0 下载安装教程~超简单的数据库安装教程(windows版本)
     今天我们来下载mysql 8.0 版本数据库,安装并使用,这里去陈述过多语言。什么都不用去想,直接跟着步骤去操作就可以了。(此教程仅用于windows版本) 第一个环节:点击下面官网链接 ,跟着步骤执行 下载链接:MySQL :: Dow...
    99+
    2023-10-20
    mysql 数据库 sql
  • mysql 8.0 安装教程
    官网下载 官方安装教程(win) windows 压缩包方式安装 压缩包安装官方教程 官方步骤: 1. Extract the main archive to the desired install directory 解压安装包到自定义安...
    99+
    2015-07-31
    mysql 8.0 安装教程
  • Docker安装MySQL教程
    前言 虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。 本文为了方便,我们直接通过yum方式安装。所以,我们在安...
    99+
    2023-08-30
    docker mysql 容器
  • MySQL 8.0.32安装教程
           目前,主流关系型数据库管理系统:Oracle(收费的数据库,价钱较昂贵,但是除了提供软件还提供相应服务)、MySQL(中小型数据库,开源的社区版和收费版)、Microsoft SQL server(中型数据库,收费)、Post...
    99+
    2023-09-03
    数据库 mysql
  • MySQL 5.7.43安装教程
    一、下载步骤 进入官网:MySQL首页滑到最下面,找到MySQL Community serve3.选择版本5.7.43,下载对应版本 下载完成后解压并保存 二、配置环境变量 1.右键此电脑->属性—>高级系统设置—>环境变量—...
    99+
    2023-10-05
    mysql adb 数据库
  • MySQL 8.0.34安装教程
    一、下载MySQL 1.官网下载 MySQL官网下载地址: MySQL :: MySQL Downloads ,选择下载社区版(平时项目开发足够了) 2.点击下载MySQL I...
    99+
    2023-09-13
    mysql
  • MySQL 5.7.31 安装教程
    前言 MySQL 5.7.31 是5.x系列最后一版 支持全平台(包含 MacOS)的版本 下载 首先下载安装支持包(就是MS C++ 2015-2022那个依赖包,安装过了可以忽略) vc_redi...
    99+
    2023-10-20
    mysql 数据库 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作