暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何离线安装Mysql数据库

知叶落 2021-08-09
743

 有时候为了服务器的安全,服务器不允许连接外网,所以不能用yum安装Mysql,那怎么离线安装呢?


01

下载Mysql安装包


首先进入Mysql官网下载地址https://downloads.mysql.com/archives/community/


然后选择要下载的Mysql版本和操作系统版本

本文以 x86 架构服务器,64位 linux 系统作为安装演示环境





02


确保Mysql安装环境正常


确认 glibc 版本

下载的 Mysql 安装包名称上有需要的 glibc 版本,通过命令查看现有 linux 服务器的 glibc 版本

    strings lib64/libc.so.6 | grep GLIBC


    卸载 mariadb

    如果操作系统是 centos7,系统会默认安装 Mysql 分支产品 mariadb,需要卸载,通过命令查看现有安装版本

      rpm -qa | grep mariadb

      卸载查询出来的安装版本

        rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

        卸载旧版本Mysql
        如果是新系统,跳过此步骤。
        通过命令查询现有Mysql安装版本
          rpm -qa|grep -i mysql

          通过命令卸载安装包
            rpm –ev {包名}
            例如:rpm –ev mysql-community-client-5.7.26-1.el7.x86_64
            查询旧版本Mysql安装目录
              find  -name mysql
              删除旧版本Mysql安装目录
                rm –rf {目录名}



                03


                安装Mysql


                上传Mysql安装包至文件夹 root,通过命令解压安装包

                  tar -xzvf {Mysql安装包名}
                  例如:tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

                  将解压后的文件夹移动到 /usr/local 下

                    mv mysql-5.7.23-linux-glibc2.12-x86_64 usr/local/mysql
                    创建Mysql数据存储文件夹 data
                      mkdir /usr/local/mysql/data
                      更改Mysql安装文件夹所属用户和所属组
                        groupadd mysql
                        useradd -r -g mysql mysql
                        chown -R mysql:mysql /usr/local/mysql
                        修改 Mysql 配置文件 my.cnf
                          vi /etc/my.cnf
                          按 i 进入编辑模式,修改 my.cnf 文件内容
                            [mysqld]
                            basedir=/usr/local/mysql
                            datadir=/usr/local/mysql/data
                            port = 3306
                            socket=/tmp/mysql.sock


                            symbolic-links=0
                            log-error=/var/log/mysqld.log
                            pid-file=/tmp/mysqld/mysqld.pid
                            sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
                            [client]
                            default-character-set=utf8


                            [mysql]
                            default-character-set=utf8


                            [mysqld]
                            log-bin=mysql-bin
                            binlog-format=ROW
                            server_id=1
                            max_connections=1000


                            init_connect='SET collation_connection = utf8_unicode_ci'
                            init_connect='SET NAMES utf8'
                            character-set-server=utf8
                            collation-server=utf8_unicode_ci
                            skip-character-set-client-handshake
                            按 Esc 退出编辑,输入 :wq! 保存文件

                            创建 Mysql 其他文件并更改权限
                              touch /tmp/mysql.sock
                              chmod 755 /tmp/mysql.sock
                              chown mysql:mysql tmp/mysql.sock


                              mkdir tmp/mysqld
                              touch tmp/mysqld/mysql.pid
                              chmod 755 tmp/mysqld/mysql.pid
                              chown mysql:mysql tmp/mysqld/mysql.pid


                              touch var/log/mysql.log
                              chmod 755 var/log/mysql.log
                              chown mysql:mysql var/log/mysql.log

                              进入 Mysql 安装路径初始化数据库
                                cd usr/local/mysql
                                ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

                                启动数据库
                                  ./mysqld_safe --user=mysql &
                                   
                                  在日志文件中查看 Mysql root 用户初始密码
                                    cat var/log/mysqld.log

                                    root@localhost: 后面是默认生成的密码


                                    登录 Mysql 数据库

                                      cd /usr/local/mysql/bin
                                      ./mysql -uroot -p
                                      输入上一步生成的默认密码即可进入数据库,然后修改默认密码
                                        set password=password("123456");
                                        授予远程登录权限
                                          grant all privileges on *.* to 'root'@'%' identified by '123456';
                                          使权限立马生效
                                            flush privileges;

                                            退出 Mysql

                                              quit;


                                              03


                                              设置Mysql自启并开放端口


                                              拷贝开机服务启动文件

                                                cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
                                                把 Mysql 加入开机启动服务
                                                  chkconfig --add mysql
                                                  Mysql 的启动和停止
                                                    启动
                                                    service mysql start


                                                    停止
                                                    service mysql stop


                                                    创建 Mysql 快捷方式

                                                      ln -s /usr/local/mysql/bin/mysql /usr/bin

                                                      开放防火墙 3306 端口
                                                        firewall-cmd --zone=public --add-port=3306/tcp --permanent
                                                        重启防火墙
                                                          firewall-cmd --reload

                                                          到这里,Mysql 数据库就安装完成了,安装过程中可能会出现命令找不到或者缺少依赖的情况,可以到 liunx 仓库中下载依赖文件并通过 rpm 安装,就可以完全实现 Mysql 离线安装了。

                                                          PS:
                                                          linux 仓库地址
                                                          https://centos.pkgs.org/

                                                          Mysql下载地址
                                                          https://downloads.mysql.com/archives/community/
                                                          文章转载自知叶落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                          评论