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

  • 相关阅读:
    Junit单元测试
    win7的6个网络命令
    WOJ1024 (POJ1985+POJ2631) Exploration 树/BFS
    WOJ1022 Competition of Programming 贪心 WOJ1023 Division dp
    woj1019 Curriculum Schedule 输入输出 woj1020 Adjacent Difference 排序
    woj1018(HDU4384)KING KONG 循环群
    woj1016 cherry blossom woj1017 Billiard ball 几何
    woj1013 Barcelet 字符串 woj1014 Doraemon's Flashlight 几何
    woj1012 Thingk and Count DP好题
    woj1010 alternate sum 数学 woj1011 Finding Teamates 数学
  • 原文地址:https://www.cnblogs.com/archimedes-euler/p/10044518.html
Copyright © 2011-2022 走看看