博客
关于我
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
阅读量:790 次
发布时间:2023-02-11

本文共 4976 字,大约阅读时间需要 16 分钟。

安装多实例MySQL环境

安装glibc版本的MySQL是配置多实例环境的最佳选择。由于官方下载不够方便,我们可以从以下站点获取:

# wget -c https://dev.mysql.com/get/archives/mysql-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

解压并安装:

# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz# mv mysql-5.7.18-linux-x86_64-glibc2.5 /usr/mysql/mysql-5.7.18

接下来设置环境变量,打开/etc/profile文件:

# vim /etc/profile

在文件末尾添加以下内容:

export PATH=/usr/mysql/mysql-5.1.18/bin:$PATH

重新加载配置:

# source /etc/profile

准备运行环境

安装必要的依赖项:

# yum install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype# yum install freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel# yum install bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5# yum install krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap# yum install openldap-clients openldap-servers

创建mysql用户组和账户:

# groupadd mysql# useradd -s /bin/bash -d /usr/mysql -g mysql mysql# passwd mysql

将用户信息复制到用户目录,并设置权限:

# cp /etc/skel/.bashrc /usr/mysql/.bashrc# cp /etc/skel/.bash_logout /usr/mysql/.bash_logout# cp /etc/skel/.bash_profile /usr/mysql/.bash_profile# chown -R mysql:mysql /usr/mysql

赋予mysql组sudo权限,编辑/etc/sudoers文件:

# vim /etc/sudoers

在文件末尾添加:

%mysql ALL=(ALL) ALL:ALL

创建系统初始化文件

将支持文件中的mysqld_multi.servermysql.server复制到/etc/init.d/目录:

# cd support-files# cp mysqld_multi.server /etc/init.d/mysqld_multi# cp mysql.server /etc/init.d/mysql

创建配置文件

创建数据和日志目录,并设置权限:

# mkdir -p /usr/mysq/mysql-5.7.18/databases# chown -R mysql:mysql /usr/mysq/mysql-5.7.18/databases# chmod 766 mysql:mysql /usr/mysq/mysql-5.7.18/databases
# mkdir -p /usr/mysq/mysql-5.7.18/logs# chown -R mysql:mysql /usr/mysq/mysql-5.7.18/logs# chmod 766 mysql:mysql /usr/mysq/mysql-5.7.18/logs

配置my.cnf文件:

# vim /etc/my.cnf

添加以下内容:

[mysqld_multi]mysqld=/usr/mysql/mysql-5.7.18/bin/mysqld_safemysqladmin=/usr/mysql/mysql-5.7.18/bin/mysqladminlog=/usr/mysql/mysql-5.7.18/logs/mysqld_multi.loguser=mysqlpassword=mysql[mysqld3306]port=3306basedir=/usr/mysql/mysql-5.7.18datadir=/usr/mysql/mysql-5.7.18/databases/data3306socket=/usr/mysql/mysql-5.7.18/logs/mysqld3306.socklog-error=/usr/mysql/mysql-5.7.18/logs/error-mysqld3306.logpid-file=/usr/mysql/mysql-5.7.18/logs/mysqld3306.pidlanguage=/usr/mysql/mysql-5.7.18/share/englishmax_allowed_packet=256Mquery_cache_size=256Mmax_connections=2000max_connect_errors=10000key_buffer_size=6000Mread_buffer_size=32Mread_rnd_buffer_size=32Mmyisam_sort_buffer_size=512Mtmp_table_size=1024Msort_buffer_size=128Msymbolic-links=0[mysqld3307]port=3307basedir=/usr/mysql/mysql-5.7.18datadir=/usr/mysql/mysql-5.7.18/databases/data3307socket=/usr/mysql/mysql-5.7.18/logs/mysqld3307.socklog-error=/usr/mysql/mysql-5.7.18/logs/error-mysqld3307.logpid-file=/usr/mysql/mysql-5.7.18/logs/mysqld3307.pidlanguage=/usr/mysql/mysql-5.7.18/share/englishmax_allowed_packet=256Mquery_cache_size=256Mmax_connections=2000max_connect_errors=10000key_buffer_size=6000Mread_buffer_size=32Mread_rnd_buffer_size=32Mmyisam_sort_buffer_size=512Mtmp_table_size=1024Msort_buffer_size=128Msymbolic-links=0[mysqld_safe]log-error=/usr/mysql/mysql-5.7.18/logs/mysqld_safe.logpid-file=/usr/mysql/mysql-5.7.18/logs/mysqld_safe.pid[mysqld3308]port=3308basedir=/usr/mysql/mysql-5.7.18datadir=/usr/mysql/mysql-5.7.18/databases/data3308socket=/usr/mysql/mysql-5.7.18/logs/mysqld3308.socklog-error=/usr/mysql/mysql-5.7.18/logs/error-mysqld3308.logpid-file=/usr/mysql/mysql-5.7.18/logs/mysqld3308.pidlanguage=/usr/mysql/mysql-5.7.18/share/englishmax_allowed_packet=256Mquery_cache_size=256Mmax_connections=2000max_connect_errors=10000key_buffer_size=6000Mread_buffer_size=32Mread_rnd_buffer_size=32Mmyisam_sort_buffer_size=512Mtmp_table_size=1024Msort_buffer_size=128Msymbolic-links=0[mysql]no-auto-rehash[isamchk]key_buffer=512Msort_buffer_size=32Mread_buffer=2Mwrite_buffer=2M[myisamchk]key_buffer=512Msort_buffer_size=32Mread_buffer=2Mwrite_buffer=2M[mysqlhotcopy]interactive-timeout

初始化数据库实例

切换到mysql用户:

# su - mysql

初始化数据库:

$ cd /usr/mysql/mysql-5.7.18/bin$ ./mysqld --initialize --user=mysql --basedir=/var/mysql/mysql-5.7.18 --datadir=/var/mysql/mysql-5.7.18/databases/data3306

初始化完成后会生成临时密码,例如:D8*>?hmFfGq8

重复对其他实例进行相同操作:

$ ./mysqld --initialize --user=mysql --basedir=/var/mysql/mysql-5.7.18 --datadir=/var/mysql/mysql-5.7.18/databases/data3307
$ ./mysqld --initialize --user=mysql --basedir=/var/mysql/mysql-5.7.18 --datadir=/var/mysql/mysql-5.7.18/databases/data3308

常见问题解决

  • ./mysqld: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

    # yum install glibc.i686
  • ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file:

    # yum install libaio libaio-devel
  • 启动实例

    切换到mysql用户:

    # su - mysql

    启动多实例:

    $ mysql_multi start 3306$ mysql_multi start 3307$ mysql_multi start 3308

    验证启动状态:

    # su - root# netstat -lntp -p 4 | grep 330

    连接数据库:

    # mysql -h 172.20.11.62 -P 3306 -S /usr/mysql/mysql-5.7.18/logs/mysqld3306.sock -u root -p

    注意:首次登录使用初始化密码,之后需修改为自己的密码:

    > SET PASSWORD='admin123';> flush privileges;

    转载地址:http://bnbfk.baihongyu.com/

    你可能感兴趣的文章
    Mysql5.6主从复制-基于binlog
    查看>>
    MySQL5.6忘记root密码(win平台)
    查看>>
    MySQL5.6的Linux安装shell脚本之二进制安装(一)
    查看>>
    MySQL5.6的zip包安装教程
    查看>>
    mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
    查看>>
    Webpack 基本环境搭建
    查看>>
    mysql5.7 安装版 表不能输入汉字解决方案
    查看>>
    MySQL5.7.18主从复制搭建(一主一从)
    查看>>
    MySQL5.7.19-win64安装启动
    查看>>
    mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
    查看>>
    MySQL5.7.37windows解压版的安装使用
    查看>>
    mysql5.7免费下载地址
    查看>>
    mysql5.7命令总结
    查看>>
    mysql5.7安装
    查看>>
    mysql5.7性能调优my.ini
    查看>>
    MySQL5.7新增Performance Schema表
    查看>>
    Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
    查看>>
    Webpack 之 basic chunk graph
    查看>>
    Mysql5.7版本单机版my.cnf配置文件
    查看>>
    mysql5.7的安装和Navicat的安装
    查看>>