mysql多实例安装(tar)

本文主要介绍了MySQL多实例的安装过程,包括解压、安装依赖、添加用户、设置数据目录等步骤,还提及了设置环境变量、初始化及启动脚本等内容。此外,针对可能出现的连接报错给出了修改配置文件的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql多实例安装

  • 解压

    tar -zxvf ./mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.7.9-linux-glibc2.5-x86_64 mysql-5.7.9
    ln -s /home/xxx/mysql-5.7.9 /usr/local/mysql
    
  • 安装依赖

    yum -y install perl perl-devel
    
  • 添加用户

    useradd mysqluser
    passwd mysqluser
    
  • 添加数据目录

    mkdir -p /data/3307
    mkdir -p /data/3308
    
    mkdir -p /usr/local/mysql/data
    chown -R mysqluser:mysqluser /usr/local/mysql/data
    chmod -R 775 /usr/local/mysql/data
    
  • 赋予权限

    chown -R mysqluser:mysqluser /usr/local/mysql/*
    chown -R mysqluser:mysqluser /data/*
    chmod -R 775 /usr/local/mysql/*
    chmod -R 775 /data/*
    
  • 编辑/etc/my.cnf

    [mysqld]
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
    
    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld_safe
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    log = /var/log/mysqld_multi.log
    
    [mysqld3307]
    server-id = 13307
    socket = /tmp/mysql.sock3307
    port = 3307
    datadir = /data/3307
    user = mysqluser
    performance_schema = off
    innodb_buffer_pool_size = 32M
    skip_name_resolve = 1
    log_error = error.log
    pid-file = /data/3307/mysql.pid3307
    [mysqld3308]
    server-id = 13308
    socket = /tmp/mysql.sock3308
    port = 3308
    datadir = /data/3308
    user = mysqluser
    performance_schema = off
    innodb_buffer_pool_size = 32M
    skip_name_resolve = 1
    log_error = error.log
    pid-file = /data/3308/mysql.pid3308
    
  • 设置环境变量和初始化mysql

    vi /etc/profile
    	export MYSQL_HOME=/usr/local/mysql
    	export PATH=$MYSQL_HOME/bin:$PATH
    source /etc/profile
    #注意保存密码 3307: Yn*wdTxij7;b  3308: uJrh.=jeg5<_
    mysqld --initialize --user=mysqluser --datadir=/data/3307
    mysqld --initialize --user=mysqluser --datadir=/data/3308
    
  • 启动脚本

    cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multid
    
    mysqld_multi start
    
    # 查看状态
    mysqld_multi report
    
    # is not running看错误信息对症下药,自己处理下
    mysqld
    
    # 修改密码
    mysql -u root -S /tmp/mysql.sock3307 -p -P3307
    update mysql.user set authentication_string=password('root@1234') where user='root';
    mysql -u root -S /tmp/mysql.sock3308 -p -P3308
    update mysql.user set authentication_string=password('root@1234') where user='root';
    
    # 进入多实例注意带-S指定sock套接字文件
    mysql -u root -p -P3307 -S /tmp/mysql.sock3307
    

可能报错

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock3308’ (2)

vi /etc/my.cnf

在[mysqld]下加入

skip-grant-table

再试一试

mysql -u root -S /tmp/mysql.sock3307 -p -P3307

进入改完密码后再把他删掉把

不行,就自己百度吧 -_-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值