• Linux red 安装多个版本mysql


    1,下载安装包

    到https://dev.mysql.com/downloads/mysql/下载对应的安装包
    在这里插入图片描述
    记住选择对应的版本很重要不然会浪费时间,我选择的是linux-generc注意这个查看Red Hat glibc的版本
    ldd --version

    在这里插入图片描述
    选择对应的版本不然会有问题。
    我这里选择的是8点多和5点多版本
    将下载的包解压命令
    tar -xvf mysql-8.3.0-linux-glibc2.17-x86_64.tar.xz
    因为我之前已经安装了一个版本5点多

    将原先的/etc/my.cnf 这个必须要移除到对应安装的mysql5的下面。没有的可以不用
    为两个mysql分别创建配置文件my.cnf 原先存在的就移除到对应的位置
    /etc/my.cnf是mysql默认且优先读取的配置文件,第二顺位是安装路径下的my.cnf,由于我们需要装载两个mysql且互不干扰,所以需要删掉第一顺位的配置文件。
    /u01/mysql/mysql-8.0.33/my.cnf :

    [mysqld]
    port=3380
    user=mysql
    basedir=/u01/mysql/mysql-8.0.33
    datadir=/u02/mysg/mysgl80/data
    socket=/tmp/mysql80.sock
    log-error=/u02/mysql/mysql80/logs/mysql.err
    pid-file=/u02/mysql/mysql80/mysql.pid
    character_set_server=utf8mb4
    lower_case_table_names=1
     
    [mysqld_safe]
    log-error=/u02/mysql/mysql80/logs/mysql.err
    pid-file=/u02/mysql/mysql80/mysql.pid
    tmpdir=/tmp/mysql80
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    另外一个也是按照上面的配置/u01/mysql/mysql-8.0.33/是你解压包的路径根据自己需要修改
    编辑 /u01/mysql/mysql-5.7.41/support-files/mysql.server
    在这里插入图片描述
    在这里插入图片描述
    cp /u01/mysql/mysql-5.7.33/support-files/mysql.server /etc/init.d/mysql57

    另外一个也是同样如此:如果之前已经安装一个不需要只需要修改一下 /etc/init.d/对应的文件名称

    [root@localhost ~]# groupadd mysql
    [root@localhost ~]# useradd -r -g mysql mysql
    [root@localhost ~]# chown -R mysql.mysql /u01/mysql
    [root@localhost ~]# chown -R mysql.mysql /u02/mysql
    
    • 1
    • 2
    • 3
    • 4

    初始化数据库

    进入到安装路径下的bin目录,以mysql 5.7.41为例

    [root@localhost ~]# cd /u01/mysql/mysql-5.7.41/bin
    [root@localhost bin]# ./mysqld --defaults-file=/u01/mysql/mysql-5.7.41/my.cnf --basedir=/u01/mysql/mysql-5.7.41 --datadir=/u02/mysql/mysql57/data --user=mysql --initialize
    [root@localhost bin]# service mysql57 start
    Starting MySQL.....SUCCESS!
    
    • 1
    • 2
    • 3
    • 4

    至此,mysql5.7.41安装并启动成功,mysql8.0.33如是,最后通过service msyql80 start 进行启动记住这里还是用root的用户
    如果之前已经安装过的话直接./mysqld --defaults-file=/u01/mysql/mysql-5.7.41/my.cnf --basedir=/u01/mysql/mysql-5.7.41 --datadir=/u02/mysql/mysql57/data --user=mysql 不需要 --initialize否则会报错。

    登录数据库服务器

    在数据库初始化过程中,会随机生成root密码,记录在我们配置的log-error文件中

    [root@localhost bin]# cat /u02/mysql/mysql57/logs/mysql.err | grep password
    2023-07-19T08:23:56.987382Z 1 [Note] A temporary password is generated for root@localhost: #Bdm6F?J!2
    
    • 1
    • 2

    信息中显示的【#Bdm6F?J!2】就是初次登录需要用到的密码,登录mysql5.7.41数据库并修改root的密码,打开远程访问限制(依然在安装目录的bin目录下)

    [root@localhost ~]# cd /u01/mysql/mysql-5.7.41/bin
    [root@localhost bin]# ./mysql -uroot -p -S /tmp/mysql57.sock
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.41
     
    Copyright (c) 2000, 2023, Oracle and/or its affiliates.
     
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
     
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
     
    mysql> set password = password('root.123');  #修改root密码
    Query OK, 0 rows affected, 1 warning (0.00 sec)
     
    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
     
    Database changed
    mysql> update user set host = '%' where user='root';  #开启root的远程访问权限
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
     
    mysql> flush privileges;
    Query OK, 0 rows affected (0.02 sec)
     
    mysql> exit
    Bye
    [root@localhost bin]# service mysql57 restart  #重启服务
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    数据库客户端连接不上查看下防火墙是否开启了

    客户端连接mysql8的时候报Public Key Retrieval is not allowed
    在这里插入图片描述

  • 相关阅读:
    手把手教你用站长工具综查询网站域名在各个平台的权重情况 站长工具综查询
    Axure RP 基本小工具 线条和箭头使用教程
    真相浮出水面
    数据结构历年考研真题对应知识点(二叉树的概念)
    [postgresql]计算中文字符的个数
    postgreSQL如何快速查询大表数据量
    2022年比若依更香的开源项目
    Java进阶之路-目录
    【Linux】基本指令(下)
    给出32位有符号整数,将这个整数翻转
  • 原文地址:https://blog.csdn.net/qq_24045275/article/details/138097953