离线安装mysql数据库

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

一、离线安装

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

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

(2)、查看系统中是否存的mariadb,若是存在,将其删除,便可以以下操做:程序员

rpm -qa | grep mariadb

若是有返回信息,说明存在mariadb,本人的系统返回:sql

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目录下,并依次执行以下的解压命令:bash

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用户和组socket

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");

二、测试

建立一个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)

关注我

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

相关文章
相关标签/搜索