zoukankan      html  css  js  c++  java
  • linux下mysql部署

    mysql

    1、拓扑结构

    mysql集群有如下三层:

    • 应用程序层:负责与mysql服务器通信的各种应用程序。
    • Mysql服务器层:处理SQL命令,并与NDB存储引擎通信和Mysql服务器。
    • NDB集群组件层:NDB集群组件有时也称数据节点,负责处理查询,然后将结果返回给mysql服务器。
    • Management层:负责管理SQL与NDB节点

    拓扑结构图如下所示:


    Management:192.168.0.10
    NDB节点:IP地址:192.168.0.20
    NDB节点:IP地址:192.168.0.30
    SQL节点:IP地址:192.168.0.20
    SQL节点:IP地址:192.168.0.30

    2、多机部署

    2-1、初始化系统

    每个节点都操作

    systemctl disable firewalld

    vim  /etc/selinux/config

    SELINUX=disabled

    2-2、依赖包安装

    yum install wget gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel –y
    注:此处cmake是mysql 5.5之后版本所必需的,5.5之后的版本将cmake取代configure;

    2-3、mysql管理节点

    vim .../mysql-cluster/config.ini

    [ndbd default]

    # Options affecting ndbd processes on all data nodes:

    NoOfReplicas=2    # Number of replicas

    DataMemory=80M    # How much memory to allocate for data storage

    IndexMemory=18M   # How much memory to allocate for index storage

    #ServerPort=2202   # This the default value; however, you can use any

    [ndb_mgmd]

    # Management process options:

    NodeId=1

    HostName=192.168.1.150           # Hostname or IP address of MGM node

    DataDir=/var/lib/mysql-cluster  # Directory for MGM node log files

    [ndbd]

    HostName=192.168.1.151           # Hostname or IP address

    NodeId=2                      # Node ID for this data node

    DataDir=/usr/local/mysql/data   # Directory for this data node's data files

    [ndbd]

    # Options for data node "B":

    HostName=192.168.1.152          # Hostname or IP address

    NodeId=3                        # Node ID for this data node

    DataDir=/usr/local/mysql/data   # Directory for this data node's data files

    [mysqld]

    NodeId=4

    HostName=192.168.1.153  # Hostname or IP address

    [mysqld]

    NodeId=5

    HostName=192.168.1.154

    2-4、ndb节点(数据节点)

    vim /etc/my.cnf

    [mysqld]

    basedir=/usr/local/mysql

    datadir=/usr/local/mysql/data

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

    user=mysql

    symbolic-links=0

    ndbcluster

    ndb-connectstring=192.168.1.150

    [mysqld_safe]

    log-error=/var/log/mysqld.log

    pid-file=/var/run/mysqld/mysqld.pid

    [mysql_cluster]

    ndb-connectstring=192.168.1.150

    初始化数据库:

    mysql_install_db --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

    会初始化mysql的data目录,并且创建那些系统表。
    同样也会初始化系统表空间并且关联innodb表与数据结构。

    chown-R mysql.mysql /usr/local/mysql

    2-5、SQL节点

    vim /etc/my.cnf

    [client]

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

    [mysqld]

    ndbcluster

    datadir=/usr/local/mysql/data

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

    ndb-connectstring=192.168.1.150

    [mysql_cluster]

    ndb-connectstring=192.168.1.150

    mysql_install_db --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

    chown-R mysql.mysql /usr/local/mysql

    2-6、把mysql添加为系统服务

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

    chmod +x /etc/rc.d/init.d/mysql.server

    chkconfig --add mysql.server

    3、Cluster启动

    3-1、启动管理节点

    首次启动需要加  --initial

    mysql/bin/ndb_mgmd -f /data/mysql-cluster/config.ini --initial 

    报错的话:

    mysql/bin/ndb_mgmd --skip-config-cache -f /data/mysql-cluster/config.ini --initial

    3-2、启动数据节点

    首次启动需要+ --initial

    /data/mysql/bin/ndbd --initial

    3-3、启动 SQL 节点

    /data/mysql/bin/mysqld_safe --user=mysql &

    3-4、查看集群状态

    管理节点

    ndb_mgm

    show

    4、单机部署

    4-1、解压安装

    tar zxvf mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64.tar.gz

    mv mysql-cluster-gpl-7.6.6-linux-glibc2.12-x86_64/ mysql

    mkdir sock

    mkdir /var/lib/mysql

    bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

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

    vim  data/z3.pid

    chmod 755 z3.pid

    chown -R mysql.mysql mysql

    4-2、配置

    vim /etc/my.cnf

    [client]

    default-character-set=utf8

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

    #user=root

    #password=123321

    host=localhost

    port=3306

    [mysqld]

    datadir=/usr/local/mysql/data

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

    user=mysql

    # Disabling symbolic-links is recommended to prevent assorted security risks

    symbolic-links=0

    skip-grant-tables    //忽略登录密码

    [mysqld_safe]

    log-error=/var/log/mysqld.log

    pid-file=/var/lib/mysql/mysqld.pid

    4-3、启动

    service mysql start(stop、status)

    4-4、登录

    mysql/bin/mysql -uroot -p

    4-5、授权

    grant  all  privileges  on  *.*  to  'user'@'%'  indetified  by  'password' with grant option         //授权

    flush privileges  //使立即生效

  • 相关阅读:
    R语言从基础入门到高级
    Web前端工程师职业学习路线图,分享!
    IOS中nil/Nil/NULL的区别
    Core Animation系列之CADisplayLink
    CADisplayLink 及定时器的使用
    iOS定时器NSTimer的使用方法
    IOS中定时器NSTimer的开启与关闭
    【IOS基础知识】NSTimer定时器使用
    IOS 实现自定义的导航栏背景以及自定义颜色的状态栏(支持7.0以及低版本)
    iOS7中计算UILabel中字符串的高度
  • 原文地址:https://www.cnblogs.com/archimedes-euler/p/10044518.html
Copyright © 2011-2022 走看看