• 离线安装mysql数据库


    开源数据库mysql,目前使用很广泛。作为程序员开发项目时,与关系型数据库打交道最多的估计也是mysql了。那么本文首先讲解如何离线安装mysql数据库,毕竟有很多项目部署在内网。

    1、离线安装

    本人的安装环境为CentOS Linux release 7.5.1804 (Core),那么其它的环境也可以参考配置。

    (1)、到mysql官网(https://dev.mysql.com/downloads/mysql/)下载5.7.25版本

    (2)、查看系统中是否存的mariadb,如果存在,将其删除,即可以如下操作:

    rpm -qa | grep mariadb
    

    如果有返回信息,说明存在mariadb,本人的系统返回:

    mariadb-libs-5.5.56-2.el7.x86_64
    

    删除命令为:

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    

    (3)、将mysql-5.7.25-linux-glibc2.12-x86_64.tar安装包上传到opt目录下,并依次执行如下的解压命令:

    tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar
    

    执行上面的命令后,可以得到mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz文件,然后再解压该文件:

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

    那么此时在opt目录就会mysql-5.7.25-linux-glibc2.12-x86_64目录,将该目录修改成mysql-5.7.25,即:

    mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
    

    (4)、创建mysql用户和组

    groupadd mysql
    useradd -g mysql mysql
    
    # 设置用户的密码
    passwd mysql
    

    (5)、创建数据库的数据目录、日志目录和临时目录,即:

    # 数据目录
    mkdir /opt/mysql-5.7.25/data
    
    # 日志目录
    mkdir /opt/mysql-5.7.25/log
    
    # 临时目录
    mkdir /opt/mysql-5.7.25/tmp
    

    将mysql-5.7.25目录及子目录的所属用户及组都设置为mysql,即:

    chown -R mysql:mysql /opt/mysql-5.7.25
    

    (6)、在etc目录下创建my.cnf配置文件,即:

    touch /etc/my.cnf
    

    my.cnf的配置内容为:

    [client]
    port = 3306
    socket = /opt/mysql-5.7.25/tmp/mysql.sock
    
    [mysqld]
    port = 3306
    basedir = /opt/mysql-5.7.25
    datadir = /opt/mysql-5.7.25/data
    tmpdir  = /opt/mysql-5.7.25/tmp
    socket = /opt/mysql-5.7.25/tmp/mysql.sock
    pid-file = /opt/mysql-5.7.25/log/mysql.pid
    log_error = /opt/mysql-5.7.25/log/error.log
    slow_query_log_file = /opt/mysql-5.7.25/log/slow.log
    

    注意:该配置不是最优的配置,只是测试用途

    (7)、初始化数据库:

    /opt/mysql-5.7.25/bin/mysqld --initialize --user=mysql
    

    (8)、设置开机自启动mysql服务:

    cp /opt/mysql-5.7.25/support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod +x /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    

    切换mysql用户:

    su mysql
    
    # 启动mysql服务
    service mysqld start
    

    (9)、专门为mysql用户配置mysql的环境变量,即:

    首先确定当前用户为mysql,然后编辑:

    vi ~/.bash_profile
    

    加入如下内容:

    export PATH=$PATH:/opt/mysql-5.7.25/bin
    

    然后:

    source ~/.bash_profile
    

    (10)、获取初始密码:

    在log目录下有一个error.log,里面有一段类似如下内容:

    2019-04-15T20:48:49.436053Z 1 [Note] A temporary password is generated for root@localhost: 0-7YeFpwhf>a
    

    那么初始密码就是:

    0-7YeFpwhf>a
    

    注意:不同机器操作的初始密码肯定是不一样的,这里只是以本人的为例。

    (11)、登录数据库:

    mysql -u root -p
    

    然后输入初始密码,即可以登录成功:

    (12)、重置密码:

    set password for root@localhost=password("jgyw@123");
    

    2、测试

    创建一个jgyw模式:

    create schema jgyw;
    

    然后查看模式:

    show schemas;
    

    即:

    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | jgyw               |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    

    在jgyw模块下创建comm_config表,即:

    use jgyw;
    
    # 建表
    CREATE TABLE `comm_config` (
      `configId` varchar(200) NOT NULL,
      `configValue` varchar(1024) DEFAULT NULL,
      `description` varchar(2000) DEFAULT NULL,
      PRIMARY KEY (`configId`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    

    查看表:

    show tables;
    

    结果为:

    +----------------+
    | Tables_in_jgyw |
    +----------------+
    | comm_config    |
    +----------------+
    1 row in set (0.00 sec)
    

    插入一条测试数据,即:

    insert into comm_config(configId, configValue, description) values('name', '架构与我', '测试一下');
    

    查询一下,即:

    select * from comm_config;
    

    结果为:

    +----------+--------------+--------------+
    | configId | configValue  | description  |
    +----------+--------------+--------------+
    | name     | 架构与我     | 测试一下     |
    +----------+--------------+--------------+
    1 row in set (0.00 sec)
    

    关注我

    以你最方便的方式关注我:
    微信公众号:

  • 相关阅读:
    Spring源码IOC容器初始化过程【2】
    《MySQL实战45讲》个人笔记实战篇
    Spring源码Xml Bean解析注册过程【3】
    Spring源码循环依赖用实例证明去掉二级缓存会出现什么问题【7】
    Spring源码Bean实例化过程【5】
    git删除已push记录
    3.多线程面试
    4.JVM面试题
    6.Linux文本处理
    二.实践中发现的命令问题
  • 原文地址:https://www.cnblogs.com/atcloud/p/10761907.html
Copyright © 2020-2023  润新知