• linux 下mysql多实例安装


    1、软件下载

    https://dev.mysql.com/downloads/file/?id=479096 

    免编译二进制包
    mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
    2、解压和迁移
    tar -xvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.6.21-linux-glibc2.5-x86_64 /usr/local/mysql
    3、关闭iptables
    临时关闭:service iptables stop 
    永久关闭:chkconfig iptables off
    4、关闭selinux
    vi /etc/sysconfig/selinux  
    将SELINUX修改为DISABLED,即SELINUX=DISABLED
    5、创建mysql用户
    groupadd -g 27 mysql
    useradd -u 27 -g mysql mysql
    id mysql
    uid=501(mysql) gid=501(mysql) groups=501(mysql)
    6、创建相关目录
    mkdir -p /data/mysql/ {mysql_3306,mysql_3307}
    mkdir /data/mysql/mysql_3306/ {data,log,tmp}
    mkdir /data/mysql/mysql_3307/ {data,log,tmp
    7、更改目录权限
    chown -R mysql:mysql /data/mysql/ 
    chown -R mysql:mysql /usr/local/mysql/
    8、添加环境变量
    echo 'export PATH=$PATH:/usr/local/mysql/bin' >>  /etc/profile 
    source /etc/profile  
    9、复制my.cnf文件到etc目录
    cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    注意:5.7的版本可能已经没有改配置文件了
    所有可以使用我提供的文件  (好像不能插入文件,可以给我留言,或者使用低版本的文件也是一样的)
    注意my.cnf 存放的目录尽量保持到 /etc/下面且不好更换文件名 ,因为5.7的版本安装是不能指定 --defaults-file 这个属性的 所以放在该目录下就好了
    10、修改my.cnf(在一个文件中修改即可)
    [client]  
    port=3306  
    socket=/tmp/mysql.sock  
     
    [mysqld_multi]  
    mysqld = /usr/local/mysql /bin/mysqld_safe  
    mysqladmin = /usr/local/mysql /bin/mysqladmin  
    log = /data/mysql/mysqld_multi.log  
     
    [mysqld]  
    user=mysql  
    basedir = /usr/local/mysql  
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
     
    [mysqld3306]  
    mysqld=mysqld  
    mysqladmin=mysqladmin  
    datadir=/data/mysql/mysql_3306/data  
    port=3306  
    server_id=3306  
    socket=/tmp/mysql_3306.sock  
    log-output=file  
    slow_query_log = 1  
    long_query_time = 1  
    slow_query_log_file = /data/mysql/mysql_3306/log/slow.log  
    log-error = /data/mysql/mysql_3306/log/error.log  
    binlog_format = mixed  
    log-bin = /data/mysql/mysql_3306/log/mysql3306_bin  
       
    [mysqld3307]  
    mysqld=mysqld  
    mysqladmin=mysqladmin  
    datadir=/data/mysql/mysql_3307/data  
    port=3307  
    server_id=3307  
    socket=/tmp/mysql_3307.sock  
    log-output=file  
    slow_query_log = 1  
    long_query_time = 1  
    slow_query_log_file = /data/mysql/mysql_3307/log/slow.log  
    log-error = /data/mysql/mysql_3307/log/error.log  
    binlog_format = mixed  
    log-bin = /data/mysql/mysql_3307/log/mysql3307_bin
     
     11、初始化数据库 
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf  
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3307/data --defaults-file=/etc/my.cnf
    注意5.7版本的是没有 scripts 这个文件夹的 而且mysql_install_db这种安装方式以及放弃了 使用新的安装方式 
    /usr/local/mysql/bin/mysqld --initialize 其他不变  如果报错 则把 --defaults-file=/etc/my.cnf 参数删掉即可,默认是从 路径是/etc
    注意注意注意:在比较高的版本如mysql5.7在初始化之后会生成root账户的随机密码如图所示,如果喜欢清屏的小伙伴那就惨了,不过这个也就把data里面的内容闪电重新初始化一次的事

     
    12、检查数据库是否初始化成功
    在/data/mysql/mysql_3306/data 目录下查看数据生成 以下文件
    auto.cnf  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.pid  performance_schema  test
    13、设置启动文件
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    14、mysqld_multi进行多实例管理
    启动全部实例:/usr/local/mysql/bin/mysqld_multi start
    查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report 
    启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306 
    停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306 
    查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306 
    查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
    Reporting MySQL servers
    MySQL server from group: mysqld3306 is running
    MySQL server from group: mysqld3307 is running
    查看mysql进程
    ]#  netstat -tlnap | grep mysql  
    15、mysql修改密码
    mysql的root用户初始密码是空,所以需要登录mysql进行修改密码,下面以3306为例(mysql5.7版本是有初始密码的,前文已经提到): 
    mysql -S /tmp/mysql_3306.sock   
    set password for root@'localhost'=password('123456'); 
    flush privileges;
    下次登录:
    [root@mysql ~]# mysql -S /tmp/mysql_3306.sock -p
    Enter password:
    16、账户授权
    一般新建数据库都需要新增一个用户,用于程序连接,这类用户只需要insert、update、delete、select权限。
    新增一个用户,并授权如下: 
    grant select,delete,update,insert on *.* to admin@'192.168.0.%' identified by '123456'; 
    flush privileges;
     
    以上内容大多转载来自 https://www.cnblogs.com/xuchenliang/p/6843990.html
  • 相关阅读:
    HDU 3511 圆的扫描线
    POJ 2540 半平面交
    POJ 2451 半平面交nlogn
    POJ 3525 半平面交
    HDU 3629 极角排序
    POJ 1274 半平面交
    POJ 1696 凸包变形
    POJ 3384 半平面交
    Flex SDK代码规范之命名
    Flash & Flex组件优化的杀手锏callLater
  • 原文地址:https://www.cnblogs.com/qinshuipo/p/9779630.html
Copyright © 2020-2023  润新知