• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

MysqlLinux环境下安装多个mysql

武飞扬头像
郝少
帮助1

目录

一、需求说明

二、环境说明

三、删除mariadb数据库

四、安装步骤

1、解压

2、重命名

3、新建数据存放目录

4、添加用户、用户组

5、新建cnf文件

6、初始化mysql

7、启动mysql

8、查看默认密码

9、登录mysql并修改密码

10、关闭数据库


一、需求说明

        在Linux服务器上安装多个mysql,供测试数据库性能或者对不同系统平台提供不同的数据库使用。

        这里以安装同一版本mysql不同端口号为例,在同一台服务器安装两个端口号分别为3306和3307的mysql库。

二、环境说明

1、mysql版本:mysql-5.7.39

2、linux系统版本:centos7.6

3、位置规划:

        mysql_3306: /opt/softWare/mysql3306

        mysql_3307: /opt/softWare/mysql3307

三、删除mariadb数据库

        这个数据库和mysql数据库同时存在会在安装时报错;

  1.  
    #查看是否存在mariadb数据库
  2.  
    rpm -qa|grep mariadb
  3.  
     
  4.  
    #删除
  5.  
    rpm -e --nodeps mariadb文件名全称
  6.  
     
  7.  
    #例如:
  8.  
    rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

四、安装步骤

        这里以mysql_3306为例进行安装;

1、解压

tar -zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz

2、重命名

mv mysql-5.7.39-linux-glibc2.12-x86_64 mysql3306

3、新建数据存放目录

mkdir -p mysql3306/data

4、添加用户、用户组

groupadd mysql

useradd -r -g mysql mysql

5、新建cnf文件

vim mysql3306/my3306.cnf

  1.  
    [mysqld]
  2.  
    bind-address=0.0.0.0
  3.  
    port=3306
  4.  
    user=mysql
  5.  
    basedir=/opt/softWare/mysql3306
  6.  
    datadir=/opt/softWare/mysql3306/data
  7.  
    socket=/opt/softWare/mysql3306/data/mysql.sock
  8.  
    log-error=/opt/softWare/mysql3306/data/mysql.err
  9.  
    character_set_server=utf8mb4
  10.  
    symbolic-links=0
  11.  
    explicit_defaults_for_timestamp=true
  12.  
     
  13.  
    [mysqld_safe]
  14.  
    log-error=/var/log/mysqld3306.log
  15.  
    pid-file=/var/run/mysqld/mysqld3306.pid
  16.  
     
  17.  
    [client]
  18.  
    socket=/opt/softWare/mysql3306/data/mysql3306.sock
  19.  
     
  20.  
    [mysqldump]
  21.  
    socket=/opt/softWare/mysql3306/data/mysql3306.sock
  22.  
     
  23.  
    [mysqladmin]
  24.  
    socket=/opt/softWare/mysql3306/data/mysql.sock
  25.  
     
  26.  
    #
  27.  
    # include all files from the config directory
  28.  
    #
  29.  
    !includedir /etc/my.cnf.d

6、初始化mysql

.bin/mysqld --defaults-file=/opt/softWare/mysql3306/my3306.cnf --basedir=/opt/softWare/mysql3306 --datadir=/opt/softWare/mysql3306/data --user=mysql --initialize

        注意:这里写的位置要和cnf里面的位置对应,尤其路径后面是否有多余斜杠"/"。路径不一致在启动mysql的时候会报如下错误:

  1.  
    2023-02-08T09:34:18.899057Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
  2.  
    2023-02-08T09:34:18.899068Z 0 [ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files.
  3.  
    2023-02-08T09:34:18.899096Z 0 [ERROR] Aborting

7、启动mysql

.bin/mysqld_safe --defaults-file=/opt/softWare/mysql3306/my3306.cnf &

        注意:这里如果启动不成功需要对日志进行排查,常见错误为:

Can't start server: can't check PID filepath: No such file or directory

        解决办法:在my3306.cnf的文件中查看pid-file的位置,创建对应的目录并修改777权限 ;

8、查看默认密码

cat /opt/softWare/mysql3306/data/mysql.err

学新通

9、登录mysql并修改密码

  1.  
    #登录
  2.  
    mysql -S /opt/softWare/mysql3306/data/mysql.sock -P 3306 -u root -p
  3.  
    #重设密码
  4.  
    SET PASSWORD = PASSWORD('123456');
  5.  
    #赋予远程登录权限
  6.  
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
  7.  
    #生效
  8.  
    flush privileges;

10、关闭数据库

  1.  
    .bin/mysqladmin -S /opt/softWare/mysql3306/data/mysql.sock -u root shutdown -p
  2.  
    或者
  3.  
    .bin/mysqladmin -S /opt/softWare/mysql3306/data/mysql.sock -P 3306 -u root shutdown -p

        注意:kill -9 pid 在这里时kill不掉mysql进程,需要使用上面语句关闭数据库。数据库关闭之后再启动需要执行下面语句:

.bin/mysqld_safe --defaults-file=/opt/softWare/mysql3306/my3306.cnf &

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfjijci
系列文章
更多 icon
同类精品
更多 icon
继续加载