搭建mysql集群 之 安装msyql

为了方便安装多版本,便没有从软件源安装mysql,转而从官网下了linux通用版本。下面是安装和配置步骤。一共起了三个实例,为了后面建集群。

  1. 下载软件。
    地址 https://dev.mysql.com/downloads
    选择了最新的8.0,linux通用压缩版本。

  2. 解压文件包。

  3. 初始化和设置实例。

    1. 初始化命令:
    $MYSQL_HOME/bin/mysqld --initialize  --datadir=$MYSQL_DATA_HOME/mysql1 --port=3307
    $MYSQL_HOME/bin/mysqld --initialize  --datadir=$MYSQL_DATA_HOME/mysql2 --port=3308
    $MYSQL_HOME/bin/mysqld --initialize  --datadir=$MYSQL_DATA_HOME/mysql3 --port=3309
    

    这里要注意的是,几个实例各自设定了数据目录和端口。

    1. 创建各实例的配置文件。
      在各实例的数据目录下创建文件my.cnf。
      内容罗列如下:
      实例1
      [client] 
      port=3307
      socket=/tmp/mysql1.sock 
      [mysqld] 
      port=3307 
      socket=/tmp/mysql1.sock
      datadir=/home/dalton/d_arch_exp/mysql_cluster/mysql1
      
      实例2
      [client] 
      port=3308
      socket=/tmp/mysql2.sock 
      [mysqld] 
      port=3308 
      socket=/tmp/mysql2.sock
      datadir=/home/dalton/d_arch_exp/mysql_cluster/mysql2
      
      实例3
      [client] 
      port=3308
      socket=/tmp/mysql3.sock 
      [mysqld] 
      port=3308 
      socket=/tmp/mysql3.sock
      datadir=/home/dalton/d_arch_exp/mysql_cluster/mysql3
      
    2. 更改初始化root密码。
      initialize时,命令行会输出root用户默认随机密码,需要用mysql命令登录后修改。
      包含默认密码的输出内容如下:
      2018-08-19T07:50:50.636354Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: t(YZH%;se3TR
      
      登录命令如下:
      $MYSQL_HOME/bin/mysql --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf -u root -p
      
      修改密码的sql语句如下:
      FLUSH PRIVILEGES;
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'Changeme_123';
      FLUSH PRIVILEGES;
      
  4. 管理实例。
    启动命令:

    $MYSQL_HOME/bin/mysqld_safe --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf &
    

    创建启动脚本startdb.sh:

    #!/usr/bin/env bash
    
    cur_dir=$(realpath $(dirname $0))
    $MYSQL_HOME/bin/mysqld_safe --defaults-file=$cur_dir/my.cnf >$cur_dir/startdb.log 2>&1 &
    sleep 4
    cat $cur_dir/startdb.log
    

    停止命令:

    $MYSQL_HOME/bin/mysqladmin --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf shutdown
    

    创建停止服务脚本stopdb.sh

    #!/usr/bin/env bash
    
    cur_dir=$(realpath $(dirname $0))
    $MYSQL_HOME/bin/mysqladmin --defaults-file=$cur_dir/my.cnf -uroot -pfuckme123 shutdown >stopdb.log 2>&1
    result=$?
    if (( $result != 0 ))
    then
        echo "got some problems to shutdown db"
        cat $cur_dir/stopdb.log
    else
        echo "shutdown ok"
    fi
    

    客户端连接命令:

    $MYSQL_HOME/bin/mysql --defaults-file=$MYSQL_DATA_HOME/mysql1/my.cnf -u root -p
    

    创建客户端命令client.sh

    #!/usr/bin/env bash
    
    cur_dir=$(realpath $(dirname $0))
    $MYSQL_HOME/bin/mysql --defaults-file=$cur_dir/my.cnf -u root -pfuckme123 $@
    

    作为客户端,mysql出的workbench软件不错。使用界面见截图:

    搭建mysql集群 之 安装msyql_第1张图片

你可能感兴趣的:(搭建mysql集群 之 安装msyql)