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  //使立即生效

  • 相关阅读:
    中国历史朝代公元对照简表
    [Solved] DashBoard – Excel Service: The data sources may be unreachable, may not be responding, or may have denied you access.
    Delete/Remove Project from TFS 2010
    Sharepoint site showing system account instead of my username on the top right corner.
    你的成功在于你每天养成的习惯
    Internet Information Services is running in 32bit emulation mode. Correct the issue listed above and rerun setup.
    Prepare to back up and restore a farm (Office SharePoint Server 2007)
    Word中字号与磅值的对应关系
    How to: Change the Frequency for Refreshing the Data Warehouse for Team System
    UI Automation in WPF/Silverlight
  • 原文地址:https://www.cnblogs.com/archimedes-euler/p/10044518.html
Copyright © 2011-2022 走看看