本文安装的数据库文件有:mysql5.7,sqlserver,oracle 以及 Redis 。
Linux 安装数据库
Linux 安装好了之后设置网络
使用如下语句进行网卡查询
- ip addr
如果查不到 ip,则查看ens33网卡的配置,输入vi /etc/sysconfig/network-scripts/ifcfg-ens33(vi后加空格)
将 ONBOOT 的权限改为 yes- 保存 按 Esc 退出,再输入:wq,再按 Enter 。
使用 yum 下载内容的时候出现没有安装组信息文件的错误异常
通过如下两条命令即可解决:
解决方法:yum clean all
然后再运行 yum -y groupinstall Development tools
Linux 的配置
Centos7 安装图形化桌面
在安装的时候没有注意选择时,默认是"Minimal Install",
安装GNOME桌面:
1)输入命令
# yum -y groups install "GNOME Desktop"
2)完成安装后输入
# startx
3)启动GNOME桌面环境
Docker 的安装与使用。
- Docker:解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 CentOS 版本是否支持 Docker 。访问 docker 的所有镜像
1、通过 uname -r 命令查看你当前的内核版本 。
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。sudo yum update。
3、安装需要的软件包, yum-util 提供 yum-config-manager 功能,另外两 devicemapper 驱动依赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 。
4、设置 yum 源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、删除 docker,执行 yum remove docker-*。
修改了很多关于 Docker 的配置。我还是默默的采取了重新安装 Docker 。
yum install docker .
systemctl start docker
最后通过 ,docker -v 或者 docker version 查看版本。
将 image 文件从仓库抓取到本地一直报错,错误信息如下:
[root@archlinux ~]# docker image pull library/hello-world
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/latest: dial tcp 52.20.146.203:443: i/o timeout
1、通过dig @114.114.114.114 registry-1.docker.io
找到可用IP。
2、尝试修改/etc/hosts(vim /etc/hosts
) 强制docker.io相关的域名解析到其它可用IP
3、添加一个可用IP:52.22.185.86 registry-1.docker.io
安装数据库
Linux 安装 Redis 数据库。
- 现在需要我们去用过 Windows 上的 Redis Desk Manager 去连接Linux 的Redis。
- Redis服务默认是前台运行,需要修改为后台运行。修改redis.conf配置文件。找到daemonize(守护进程)配置,默认no。修改为:
daemonize yes
- 注掉 redis.conf 中的 #bind 127.0.0.1
- 80行的 protected-mode yes修改为:
protected-mode no
- 对防火墙进行操作
[root@localhost ~]# firewall-cmd --state // 查看防火墙的状态
running
[root@localhost ~]# systemctl stop firewalld.service // 关闭防火墙
[root@localhost ~]# firewall-cmd --state
not running
[root@localhost ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]#
Linux 安装 MySql 数据库。
- 使用 Docker 命令安装 MySql 数据库。
1、首先,执行 docker 命令:docker search mysql 。
我们可以看到 MySql 5.7 database server 以及 MySql 5.6 SQL database server 。当然这没有说明目前版本最高的是 5.7 。
2、拉取 MySql 容器:docker pull mysql:5.7
,最新版本是 8.0.16的,不是 5.7 的。我是删除镜像之后重新下载的 5.7 的。
执行成功的样子。
3、添加镜像,加入容器,开启mysql。
// 在本地镜像列表中查看repository为mysql的镜像
docker images | grep mysql
// 创建并启动MySQL容器
docker run --name mysql --rm -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql
// 查看容器运行状态
docker ps -a
// 进入mysql 容器
docker exec -it mysql bash
// 连接MySQL数据库
mysql -u root -p
还可以通过 select version() 查看数据库的版本。whereis mysql 的命令查看安装目录。
解释:docker run --name mysql --rm -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql
字符 | 意义 |
---|---|
–name(两个横杠) | 为新建的容器命名 |
-e | 配置信息,MYSQL_ROOT_PASSWORD配置MySQL的root用户的登录密码 |
-p | 端口映射,此处映射主机3306端口到容器的3306端口 |
-d | 以后台守护进程方式运行,成功启动容器后输出容器的完整ID |
-v | 将宿主机中MySQL配置挂载到容器中MySQL配置中 |
mysql | MySQL镜像名称 |
- 因为之前下载错了版本,所以
先停 MySql 服务,再删除容器,再删镜像的步骤
,是要认识到的。
// 停服务
docker stop mysql
// 查看容器运行状态
docker ps -a
// 查看镜像
docker images
// 删除镜像
docker rmi [image]
docker image rm [image]
支持的子命令如下:
-f, -force: 强制删除镜像,即便有容器引用该镜像;
-no-prune: 不要删除未带标签的父镜像;
3. 开启 MySql 的远程服务连接。
3.1、查看 MySQL 数据库版本 select version()
3.2、查看 MySQL 配置文件:whereis mysql
cd /etc/mysql && ls -alih
3.3、查看 MySQL 著配置文件:cat my.conf
3.4、查看 MySql 的日志内容。docker logs mysql01
远程连接 MySQL(Windows 系统访问 Linux 上的数据库)
我使用的是 Navicat Premium 12 ,通过如图所示的主机名称,与密码即可连接。如果不能够连接,可能是需要创建一个远程的账户。
- MySQL 创建远程连接账户 。
mysql> CREATE USER 'robertchao'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'robertchao'@'%';
Query OK, 0 rows affected (0.00 sec)
- 在通过 本地 Windows 系统使用 Navicat 连接测试。
对于数据库,我们还需要认识几个文件夹
主配置文件 /etc/mysql/my.cnf
配置文件夹 /etc/mysql/conf.d/
数据文件夹 /var/lib/mysql
在宿主机上建立的目录如下:/share/mysql/my.cnf
/share/mysql/conf.d/
/share/mysql/data/
Linux 安装 Oracle 数据库。
- 拉取镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
- 查看镜像:
docker images
- 创建容器:
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
。创建成功能会返回容器id 。
注意:命令后面的地址是下载的镜像地址,也是拉取镜像名字,否则会出现名字已存在等问题。
黑框的内容如下:/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint oracle11g (784d88a7215f787d58c14ecee332ee5841fab86c60c6a89f4dc701bb962da34e): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1521 -j DNAT --to-destination 172.17.0.3:1521 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)). 大概意思是说有名字相同的容器。如果没有冲突的容器存在,则可以忽略此信息。因为之前动过防火墙,关闭防火墙,使得 Redis 数据库能够访问,采用 systemctl restart docker 方法即可。很多人说 执行 service restart docker,这样的 service 会提示出来,建议使用 systemctl 。 - 启动容器:
docker start oracle11g
- 进入镜像进行配置
5.1、docker exec -it oracle11g bash,进入 oracle 的环境。
5.2、sqlplus /nolog ,执行进入软连接。第一次运行是进不去的。
5.3、 su root ,切换到管理员登录,默认密码是:helowin。
5.4、编辑 profile 文件(vi /etc/profile)配置 ORACLE 环境变量 (如下的环境变量)。
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:PATH
5.5、创建软连接。ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
5.6、切换到 oracle 用户 su - oracle,一定要写中间的内条 - 必须要,否则软连接无效 。
5.7、登录sqlplus并修改sys、system用户密码
- sqlplus /nolog 不使用管理员账户登录
- conn /as sysdba 连接系统数据库管理员
## 设置 system 用户的密码
alter user system identified by system;
## 设置 sys 用户的密码
alter user sys identified by sys;
##
Alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
## 创建 oracle 的用户 robertchao 账号与密码
create user robertchao identified by robertchao;
## 授予 连接、资源、数据库管理员的权限。
grant connect,resource,dba to robertchao;
## 退出 SQL 控制台
exit;
6. Navicat 连接。这里的服务名通过 lsnrctl status 查看,可以通过lsnrctl start 启动监听。
- 连接名自拟
- 连接类型 一般都是 Basic
- 主机地址,通过 ip addr 查看虚拟机的地址。
- 端口默认的 1521
- 服务名需要注意的 这里的服务名为 helowin