离线安装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)
关注我
以你最方便的方式关注我:
微信公众号: