• 技术文章 >数据库 >mysql教程

    一步步教你搭建Mysql单机多实例

    藏色散人藏色散人2021-11-22 15:52:07转载199

    0 简介

    随着互联网技术的发展,数据量越来越庞大,我们急需一个大的存储和大的分析系统。虽然有nosql数据库、hadoop文件存储等数据存储方式能够解决该问题,但是,关系型数据库依然有它的优势所在,尤其是对结构化数据的处理,性能仍然很棒。或者,从公司的项目开发成本讲,关系型数据库的使用比nosql数据库使用更加简易,更加便于维护。
    因此,本文介绍一下Mycat使用的第一步(当然,这一步不是必须的),学会如何搭建Mysql单机多实例,从而应对大数据量查询慢的问题。

    1 启动项

    vim /etc/apparmor.d/usr.sbin.mysqld
    /etc/init.d/apparmor reload

    AppArmor(Application Armor)是Linux内核的一个安全模块,AppArmor允许系统管理员将每个程序与一个安全配置文件关联,从而限制程序的功能。简单的说,AppArmor是与SELinux类似的一个访问控制系统,通过它你可以指定程序可以读、写或运行哪些文件,是否可以打开网络端口等。作为对传统Unix的自主访问控制模块的补充,AppArmor提供了强制访问控制机制,它已经被整合到2.6版本的Linux内核中。
    详细资料查看:
    Apparmor——Linux内核中的强制访问控制系统
    http://www.cnblogs.com/-Lei/a...

    2 创建新实例的数据目录

    mkdir /var/lib/mysql2   创建目录
    chown mysql /var/lib/mysql2  给mysql用户权限

    3 创建数据库,初始化数据库

    • mysql 5.7以下
      mysql_install_db --user=mysql --datadir=/var/lib/mysql2

    • mysql 5.7以上

    1. --user=mysql --datadir=/var/lib/mysql2

    4 配置多实例配置文件

    [mysqld_multi]  
    mysqld     = /install/mysql/bin/mysqld_safe  
    mysqladmin = /install/mysql/bin/mysqladmin  
    user       = root  
      
    # The MySQL server  
    [mysqld1]  
    port            = 3306  
    socket          = /tmp/mysql.sock  
    datadir         =/var/lib/mysql  
    pid-file        =/var/lib/mysql/mysql.pid  
    user            =mysql  
      
    log-bin         =master-bin  
    log-bin-index           =master-bin.index  
    ...
    [mysqld2]  
    port            = 3307  
    socket          =/tmp/mysql2.sock  
    datadir         =/var/lib/mysql2  
    pid-file        =/var/lib/mysql2/mysql.pid  
    user            =mysql  
    ...

    5 启动实例

    mysqld_multi   --defaults-file=/etc/mysql/my_multi.cnf start 1
    mysqld_multi   --defaults-file=/etc/mysql/my_multi.cnf start 2

    6 登陆Mysql

    # 登陆Mysql服务器,执行mysql命令进入mysql控制台
    mysql -uroot -P3307 -p -S/tmp/mysql2.sock
    # 不用输入密码,直接回车
    # 查看当前用户
    select User from mysql.user;
    # 创建Mysql用户test,并赋权限
    CREATE USER 'test'@'%' IDENTIFIED BY '123456';
    GRANT GRANT OPTION ON *.* TO 'test'@'%';
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test'@'%';

    推荐学习:《mysql视频教程

    以上就是一步步教你搭建Mysql单机多实例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:mysql linux ubuntu
    上一篇:详解Mysql双机热备安装步骤 下一篇:聊聊mysql-connector-java怎么连接驱动
    VIP会员

    相关文章推荐

    • CentOS7 MySQL怎么进行定时备份• 总结MySQL优化的最最基础操作• 一分钟解决mysql_config not found的问题• 详解Mysql双机热备安装步骤

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网