zoukankan      html  css  js  c++  java
  • 03 :mysql模型 和 mysql多实例安装

    MySQL 简单知识
    --------------------------------------------------------------------------------------------------------------

    一、mysql是C/S模型结构,即:client (客户端)+ server(服务器) 

    二、应用程序如何连接到mysql:

    1、TCP/IP 方式连接数据库
    mysql -uadmin -p123 -h 10.0.0.51 -P 3306

    可以证明:
    (1)数据库是好的
    (2)网络连接是没问题的
    (3)用户是没问题

    2、SOCKET 方式连接数据库
    mysql -uroot -p123456 -S /application/mysql/tmp/mysql.sock

    思考:
    mysql -uroot -p123456 使用的是什么方式登录?????

    其实是使用的SOCKET 方式连接的数据库,只不过这里默认是把-S隐藏了。

    细心的你一定发现了前面我们编译安装的时候,编译参数里面指定了sockt文件

    路径/application/mysql-5.6.34/tmp/mysql.sock,因为编译指定了socket,所以这里默认使用的是编译的路径。

    三、 多实例安装mysql

           就是在一台服务器上面,启动多个mysql,互相是独立运行的。


    规划:
    1、启动多次mysqld_safe
    2、准备多个my.cnf 分别通过mysqld_safe --defaults-file=
    3、多个端口3307 、3308、3309
    4、初始化多套数据
    5、在配置文件里分别定义socket、log_error、datadir、server_id、port

    配置多实例:
    创建必要目录
    [root@mysql181 ~]# mkdir -p /data/330{7..9}/data

    创建配置文件:
    [root@mysql181 ~]#  cat /data/3307/my.cnf /data/3308/my.cnf /data/3309/my.cnf
    [mysqld]
    basedir=/application/mysql
    datadir=/data/3307/data
    socket=/data/3307/mysql.sock
    server_id=3307
    port=3307
    log_error=/data/3307/mysql.log
    log_bin=/data/3307/mysql-bin
    binlog_format=row
    [client]
    socket=/data/3307/mysql.sock

    [mysqld]
    basedir=/application/mysql
    datadir=/data/3308/data
    socket=/data/3308/mysql.sock
    server_id=3308
    port=3308
    log_error=/data/3308/mysql.log
    log_bin=/data/3308/mysql-bin
    binlog_format=row
    [client]
    socket=/data/3308/mysql.sock


    [mysqld]
    basedir=/application/mysql
    datadir=/data/3309/data
    socket=/data/3309/mysql.sock
    server_id=3309
    port=3309
    log_error=/data/3309/mysql.log
    log_bin=/data/3309/mysql-bin
    binlog_format=row
    [client]
    socket=/data/3309/mysql.sock
    [root@db01 data]#


    初始化数据:

    [root@mysql181 ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3307/data/
    [root@mysql181 ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3308/data/
    [root@mysql181 ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3309/data/

    修改目录权限:
    [root@db01 3307]# touch /data/330{7..9}/mysql.log
    [root@db01 3307]# chown -R mysql.mysql /data/330*

    启动多实例:

    [root@mysql181 ~]# mysqld_safe --defaults-file=/data/3307/my.cnf &
    [root@mysql181 ~]# mysqld_safe --defaults-file=/data/3308/my.cnf &
    [root@mysql181 ~]# mysqld_safe --defaults-file=/data/3309/my.cnf &

    查看端口是否启动:

    分别登陆3307-3309:

    [root@mysql181 ~]# mysql -S /data/3307/mysql.sock

    这里需要使用socket方式连接数据库:指定sock文件位置

    关闭数据库的方法:

    [root@mysql181 ~]# mysqladmin -S /data/3307/mysql.sock shutdown

    因为多实例我们还没有启动脚本,其实我们可以根据启动和关闭的这两条命令,自己写一个启动脚本。

    到此mysql多实例安装成功!

  • 相关阅读:
    函数调用堆栈过程
    opencv相关的一些资料
    Debug模式下加快运行速度的一些方法
    目标检测的资料汇总
    Unity常见词汇查询表
    迷宫遍历板子
    Codeforces Round #739 (Div. 3)
    Codeforces Round #737 (Div. 2)
    快乐的一天从AC开始 | 20210810 | CF1554D
    快乐的一天从AC开始 | 20210809 | CF1554C
  • 原文地址:https://www.cnblogs.com/jim-xu/p/11610078.html
Copyright © 2011-2022 走看看