ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

各数据库的安装与配置

各数据库的安装与配置 oracle windows安装与配置其简单应用https://www.yuucn.com/a/1547376.html1.下载本人网盘上有一个安装软件在网吧还没成功过在我的京东云服务器上安装成功了。安装完成后访问https://localhost:5500/em输入用户名和密码就可以查看数据库运行状态进行新建表空间和用户配置了。服务设置Oracle完成安装后如果出现EM页面打不开的情况。那么进入任务管理器确认以下两个服务已经启动否则Oracle将无法正常运行1OracleOraDB12Home1TNSListener表示监听服务如果客户端要想连接到数据库此服务必须打开在程序开发中该服务也要起作用。2OracleServiceORCL表示数据库的主服务命名规则OracleService数据库名称。此服务必须打开否则Oracle根本无法使用。补充Oracle 12C临时位置权限错误解决方案参考链接http://www.ddooo.com/softdown/62998.htm在Oracle 12C安装过程中由于共享权限问题导致安装卡死我们可以用以下办法解决1、控制面板所有控制面板项管理工具服务找到“Server”检测是否处于启用状态。2、控制面板所有控制面板项管理工具计算机管理系统工具共享文件夹共享右键单击“共享”新建共享3、单击“浏览”选择本地磁盘C:确定4、“共享名”输入“C$” 点击下一步5、对权限进行相应的选择(选择第二项或第三项)单击“完成”重新运行安装程序即可。卸载:1–首先停掉windows中所有ORACLE的服务2–开始–oracle-OrDb12c_home|oralce安装产品| Universal Installer-启动oracle通用安装管理程序.3–注册表:开始-运行–regedit–搜–HKEY_CLASSES_ROOT,HKEY_LOCAL_MACHINE下所有含oracle和ora的注册表项全部删除.4.删除系统盘上和安装盘的所有的目录.启动相关各服务与配置数据库启动相关各服务。301–启动和停止监听程序。如果没有监听程序客户端就不能连接到数据库。dos中启动lsnrctl start停止lsnrctl stop查看状态lsnrctl status302—数据库连接的启动和关闭一个ORACLE数据库是由一个实例也称为例程和一系列的物理文件组成的。一个例程只能访问一个数据库而一个数据库可以由多个例程同时访问。启动数据库包含了一系列的步骤这些步骤常分为三步1.启动数据库到NOMOUNT状态oracle将启动一系列后台服务进程分配内存。2.启动数据库到MOUNT状态这一步主要用来装载数据库数据例程获取数据库中内容的信息位置等。但此时数据库仍处于关闭状态。3.启动数据库到OPEN状态。仅以连接实例而不连接数据库的方式连接SQLPLUS连接到数据库系统如果在安装ORALCE服务器的环境下使用命令提示工具连接ORACLE将会以ORACLE_SID环境变量指定的数据库实例进行连接也可以在环境下通过SET ORACLE_SID来改变所连接的OracleSID值,以指定不同的数据库实例.连到数据库后,用STARTUP来启动数据库,其命令格式如下:STARTUP [NOMOUNT | MOUNT | OPEN | FORCE ][RESTRICT][PFILE参数文件名] 该状态下,可以访问那些与SGA相关的数据字典视图,如:V$PARAMETER...STARTUP MOUNT STARTUP OPEN----启动到OPEN状态后,就可以访问ORALCE数据库所有的数据字典视图,任何具有CREATE SESSION授权的用户都可以连接到ORACLE数据库进行数据库连接.关闭数据库也有几种状态SHUTDOWN [NORAL | TRANSACTIONAL | IMMEDIATE | ABORT]一般用IMMEDIATE,等待所有工作完成,才阻目用户连接.ABORT很不友好,啪一下关了.配置监听程序Oracle是一个网络数据库管理系统,oracle可以是客户-服务的C/S型的结构,也可以是分布式的多层体系结构.一个监听程序是一个服务,对一个端口,系统自配的一个LISTEN监听器端口号是1521.在服务器端,是通过一个监听(LISTENER)服务来运行的,这个服务监听某个特定的网络端口,当客户机连接到这个端口时,将管理客户机与服务器这间的通信(可配远程访问数据库).Oracle提供了服务器端监听程序的配置工具,两个.第一个Oracle Net Configuration Assistant-ONCA打开–监听程序配置–添加–监听程序名(自定义)选定的协议:TCP,使用另一个端口号,不要与现有的监听器一样.是否配置另一个监听程序:否.启动监听程序.第二个工具Net Manager网络管理员,它可以添加监听器,还可配置与修改下面建一个MyLISTENER监听器,全局数据库名称与SID都为PubLib.端口号1523.Oracle主目录::G:\app\Administrator\product\12.1.0\dbhome_1监听程序的配置文件在主目录:%ORACLE_HOME%\NETWORK\ADMIN中.添加监听器主目录为如形式X:\app\Administrator\product\12.1.0\dbhome_1配置文件listener.ora文件如下,在%ORACLE_HOME%\NETWORK\ADMIN中------x:\app\Administrator\product\12.1.0\dbhome_1\NETWORK\ADMIN如下配置文件中第一个监听器也是安装完软件后自动配的第一端口为1521SID_LIST_LISTENER (SID_LIST (SID_DESC (SID_NAME CLRExtProc) (ORACLE_HOME G:\app\Administrator\product\12.1.0\dbhome_1) (PROGRAM extproc) (ENVS EXTPROC_DLLSONLY:G:\app\Administrator\product\12.1.0\dbhome_1\bin\oraclr12.dll) ) ) LISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (ADDRESS (PROTOCOL IPC)(KEY EXTPROC1521)) ) )通过第二个工具创建的监听程序还要另启动.在DOS中.启动了,再到windows的任务管理器-服务中查看是否启动.配置数据库。创建数据库 DBCA工具Database Configuration Assistant)“创建模式”中选择“高级模式”典型配置会留下很多大坑很不推荐。择单实例数据库因为我们这里只创建一个能用的简单数据就行如果想要做RAC集群那么你还需要部署硬盘这种情况会另写一片文章介绍选择模板可以选择“定制数据库”或“一般用途或事务处理”由于定制数据库是不基于模板的所以创建过程非常缓慢可能需要好几个小时的时间而“一般用途或事务处理”是基于Oracle提供的模板创建创建速度很快5分钟不到即可完成而且可配置的选项已经足够了所以选择“一般用途或事务处理”。下图在windows server中安装有选项在win7或win10中没有。--------全局数据库名字可以随便填但是SID必须是上面的名字Sid格式来书写否则后面会报找不到.ora文件的错误。--------容器数据库”是12c版本新加的一个功能但是这个功能可能很少有人用最麻烦的是一旦勾选了这个选项那么你新建的数据库用户必须以C##开头特别不方便所以此处强烈建议不勾选容器数据库除非你真的有这方面需求。配置管理员账户密码一定要牢记一会登录要用上监听器选已有且启动的端口注意要记住。—快速恢复区推荐全部勾选图中没有勾选有用快速恢复区之后使用rman做的完整备份会被放到快速恢复区去启用归档以后可以使用rman快速创建全库备份。如果此处不填写那么以后再想启用归档就要把数据库实例停止之后再设置归档而且会导致归档不完整所以推荐建立实例的时候就开启归档。另外点击“编辑归档模式参数”按钮之后可以选择归档文件的保存地点建议选择一个和快速恢复区、表空间不同的硬盘来存储提高安全性。—注意快速恢复区还有一个大小限制尽量设置的大一点并且定期清理快速恢复区的备份否则快速恢复区满了之后会卡死数据库的。点击Edit archive mode parameters还可以配置归档日志的参数一定要选择UTF-8下面的默认语言一定要选择“英语美国”否则在使用命令行和SQLPULS的时候中文字符很容易变成同样的问题还会出现在你应用的日志上还是使用英文远离乱码的困扰好。创建选项推荐勾选另存为数据库模板这样可以很快的创建一模一样的数据库为其他的测试环境创造便利。点击定制存储位置可以看到这个实例所创建的表空间的位置—注意这一步特别的关健直接关系到你的数据库存放的位置一般来说我们都会专门挂一个硬盘存放表空间和备份文件所以这里一般是要手动修改表空间和控制文件的存放位置的一定不要改错。同时如果做集群更需要注意这个存放位置一定要放到共享磁盘上去数据库表空间会默认帮我们建立几个我们也可在这用图形化的界面再创建几个并且指定默认表空间非常方便接下来是创建数据库过程完成后弹出一个参数窗口注意这里有很多重要信息windowns服务中可以看到刚创建的数据库的相关服务解锁用户scott)打开DoS,解锁scott用户并修改客密码sqlplus / as sysdba; alter user system account unlock; alter user system identified by xiong;2. 连接数据库。所有的相关服务监听器数据库与SID服务启动后可以连接数据库了。21.–服务器端–即安装ORALCE服务软件的机子端。《1》。SQL Developer工具本实验连接本地的数据库sshwebscott在配置数据库后解锁了并设密码xiong.1522是MYLISTENER监听器的端口号监听sshweb数据库当然了一个监听器不只一个数据库1521是安装软件后系统自动配置的监听器端口好让可以连接系统工具。远程登录连接数据库1.云服务器或其它电脑本人云服务器腾讯的开放端口15215500…。。2.服务器端配置监听器一定要绑定主机名dos-hostname可查看主机名本例中监听配置信息文件为------C:\app\Administrator\product\12.0.1\dbhome_1\NETWORK\ADMIN\listener.ora可以修改为主机名例远程主机名为tenxinyun替代localhost)。也可通过网络配置器修改LISTENER重启监听器有两方法.1,DOS中进行如下命令。2.任务管理器中服务中重启带后缀名为LISTENER的服务。lsnrctl stop LISTENER lsnrctl start LISTENER3.在本地机上安装客户端软件再启动Net Manager工具添加服务名为orcl,该名对应服务器端的orcl名安装oracle服务器软时自动生成的因为客户端连接时要用到scott用户密码还要为tiger.不过在安装服务器软件后可以修改连接用户密码xiong)。而刚刚安装的服务器端的服务软件scott用户是锁定的还密码不为tiger.若没有在安装时修改可以在DOS修改。最后如果测试连接成功点‘文件’‘保存网络配置’4.启动SQLPLUS工具或DOS或SQL DEVELOPER连接到远程数据库sshweb,建议用DOS因为错三次后DOS不会关闭连接用户为scott(123步中默认的又或客户端软件的。G:\app\client\Administrator\product\12.1.0\client_1\network\admin\tnsnames.ora配置服务名的文件代码如下。# listener.ora Network Configuration File: Y:\app\client\Administrator\product\12.1.0\client_1\NETWORK\ADMIN\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER (SID_LIST (SID_DESC (GLOBAL_DBNAME orcl) (SID_NAME ORCL) ) ) LISTENER (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 124.220.60.104)(PORT 1521)) ) ADR_BASE_LISTENER Y:\app\client\Administrator\product\12.1.0\client_1\log5.连接工具pl/sql developer,连接数库mybatis访问oracle持久化简单应用STS3.93创建一个java maven项目‘mybatisdemo’1,创建一个表sb_users,并添加几条数据create table sb_users ( id int , username varchar(50) , password varchar(100) , state int , reg_date date ); insert into sb_users (id, username, password, state, reg_date) values(2,熊少文,172eee54aa664e9dd0536b063796e54e,1,to_date(2014-02-14,yyyy-mm-dd)); insert into sb_users (id, username, password, state, reg_date) values(3,mmm,5c79b8413fe81742a4147c9373771394,1,to_date(2018-08-05,yyyy-mm-dd)); insert into sb_users (id, username, password, state, reg_date) values(4,ttt,882eebb5c59d44a3b85c4adbe54d1ee,1,to_date(2018-08-05,yyyy-mm-dd));2.建立一个用户类接口映射与配置文件UserMapper.javapublicinterfaceUserMapper{/** * 通过用户ID获取用户对象 * param id * return */publicUsergetOneUserById(intid);}UserMapper.xml?xml version1.0 encodingUTF-8 ?!DOCTYPEmapperPUBLIC-//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtdmappernamespacecn.ybzy.mybatisdemo.mapper.UserMapperselectidgetOneUserByIdresultTypecn.ybzy.mybatisdemo.model.UserdatabaseIdoracleselect * from sb_users where id#{id}/select!-- oracle的 --/mappermybatisConfig.xml?xml version1.0 encodingUTF-8 ?!DOCTYPEconfigurationPUBLIC-//mybatis.org//DTD Config 3.0//ENhttps://mybatis.org/dtd/mybatis-3-config.dtdconfigurationpropertiesresourcejdbc.properties/propertiessettingssettingnamemapUnderscoreToCamelCasevaluetrue/!--驼峰命名规则允许这样就可以让java类与数据库表字段可以这样对应regDate对应reg_date,不然查询会出出null--/settingsenvironmentsdefaultoracle!-- 默认mysql --environmentidmysqltransactionManagertypeJDBC/dataSourcetypePOOLEDpropertynamedrivervaluecom.mysql.cj.jdbc.Driver/propertynameurlvaluejdbc:mysql://124.220.60.104:3306/mybatisdemo/propertynameusernamevalueroot/propertynamepasswordvaluexiong//dataSource/environmentenvironmentidoracletransactionManagertypeJDBC/dataSourcetypePOOLEDpropertynamedrivervalue${orcl.driverClass}/propertynameurlvalue${orcl.jdbcUrl}/propertynameusernamevalue${orcl.user}/propertynamepasswordvalue${orcl.password}//dataSource/environment/environmentsdatabaseIdProvidertypeDB_VENDOR!-- 为各数据库起别名以便在Mapper映射文件中用 可用如下代码查询当前厂商名 String databasemarksession.getConnection().getMetaData().getDatabaseProductName(); System.out.println(databasemark); --propertynameMySQLvaluemysql/propertynameOraclevalueoracle/propertynameSQL Servervaluesqlserver//databaseIdProvidermappers!-- mapper resourcecn/ybzy/mybatisdemo/model/UserMapper.xml/ --!-- mapper classcn.ybzy.mybatisdemo.mapper.UserMapper/ --packagenamecn.ybzy.mybatisdemo.mapper//mappers/configurationjdbc.propertiesjdbc.userroot jdbc.passwordxiong jdbc.driverClasscom.mysql.cj.jdbc.Driver jdbc.jdbcUrljdbc:mysql://124.220.60.104:3306/mybatisdemo orcl.userscott orcl.passwordxiong orcl.driverClassoracle.jdbc.OracleDriver orcl.jdbcUrljdbc:oracle:thin:localhost:1522:sshwebUser.javapublicclassUser{privateintid;privateStringusername;privateStringpassword;privateDateregDate;privateintstate;//get,set,toString无参有参构造方法}pom.xmldependenciesdependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.4.6/version/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.12/version/dependencydependencygroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactIdversion1.2/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.16/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion1.7.25/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.10/version/dependencydependencygroupIdcom.oracle/groupIdartifactIdojdbc6/artifactIdversion12.1.0.1-atlassian-hosted/version/dependency/dependenciesMyBatisTest.javapublicclassMyBatisTest{Testpublicvoidtest()throwsIOException,SQLException{//1.获取到创建数据库连接的会话的工厂,根据mybatis配置文件创 建InputStreaminputStreamResources.getResourceAsStream(mybatisConfig.xml);SqlSessionFactorysessionFactorynewSqlSessionFactoryBuilder().build(inputStream);//2.通过工厂类获取到数据库连接的会话SqlSessionsessionsessionFactory.openSession();//3.通过session操作数据库try{//User usersession.selectOne(cn.ybzy.mybatisdemo.model.selectOneUser,1);UserMappermappersession.getMapper(UserMapper.class);//查询记录并封装Userusermapper.getOneUserById(2);System.out.println(user.getId()user:user);}finally{session.close();}}}Windows系统下MySQL8.0一. 前言MySQL是目前最为流行的开源数据库产品是完全网络化跨平台的关系型数据库系统。它起初是由瑞典MySQLAB公司开发后来被Oracle公司收购目前属于Oracle公司。因为开源所以任何人都能从官网免费下载MySQL软件并且“开放源码”意味着任何人都可以使用和修改该软件因而MySQL数据库也在企业级项目开发中广泛应用。很多学习Java的同学接触到的第一个数据库产品就是MySQL数据库。但许多学员在学习过程中却经常因为使用不当而将MySQL数据库搞崩溃。究其原因这往往是因为在安装MySQL时采用了在线无脑安装对MySQL的安装过程不明就里后期又随意修改配置文件或更改移动了某些配置文件目录等因素导致的。为了避免大家少走弯路壹哥今天通过手动安装配置MySQL给大家讲解清楚MySQL运行时的环境需求避免有些同学以后再重蹈覆辙。二. MySQL软件下载MySQL的软件有两种一种是在线安装版以.msi后缀另一种是以.zip结尾。壹哥推荐大家使用.zip压缩包我们本次选择官网的最新版MySQL-8.0.30进行下载。2.1 MySQL安装包下载软件下载连接https://dev.mysql.com/downloads/mysql/注意如果你是首次访问这个官网下载时需要先行注册账户再下载。注册新账户按照提示填写个人信息正确提交就行这里我们就不再多说了。当然如果你嫌麻烦不想注册你也可以按如下图所示直接点击链接下载即可。2.2 MySQL其他版本下载三. MySQL安装与配置3.1 解压MySQL压缩包软件下载完成后找个目录解压。壹哥这里是将其放到了自己想要安装到的目录下例如D:\apps\mysql80\mysql-8.0.30-winx643.2 创建数据库文件目录在MySQL主目录下创建空的data文件夹作为数据文件的存放目录。注意此目录会在下一步配置时用到3.3 创建并修改配置文件my.ini在MySQL主目录下创建名为my.ini的配置文件文件内容如下[mysql]#设置mysql数据库客户端默认字符集default-character-setUTF8[mysqld]#设置mysql数据库默认端口号注意端口号不能被占用port3316#设置记录日志的显示时间log_timestampsSYSTEM#设置mysql安装目录basedirD:\\apps\\mysql80\\mysql-8.0.30-winx64#设置mysql数据库的数据存放目录datadirD:\\apps\\mysql80\\mysql-8.0.30-winx64\\data#设置mysql数据库服务端默认字符集character-set-serverUTF8#设置mysql数据库创建新表时的默认存储引擎default-storage-engineINNODB#设置mysql数据库允许的最大链接数max_connections1003.4 添加环境变量在系统环境变量 中“新建”一个名为“MYSQL_HOME”的变量。变量值编辑现有的环境变量“Path”在最后增加“%MYSQL_HOME%\bin”。3.5 初始化MySQL服务以管理员身份运行cmd进入bin目录执行 mysqld --initialize-insecure --userroot 命令。如果不执行这一步安装完成之后会无法启动服务。MySQL经过初始化后在目录data下会产生一些资料如下图四. 将MySQL.添加系统服务4.1 安装启动服务依然在管理员cmd窗口的bin目录下执行 mysqld -install MySQL 命令安装。完成后会提示安装成功。4.2 删除服务删除服务执行如下命令mysqld -remove mysql五. 其他维护操作5.1 初次登录依然在管理员cmd窗口的bin目录下执行 net start MySQL8 命令启动MySQL服务。在普通cmd窗口中进入bin目录执行 mysql -u root -p 命令默认没有密码回车进入mysql服务的默认端口是3306如果mysql服务的端口不是3306我这是3316上面参考my.ini文件则需要-P 端口 参数5.2 修改登录密码alter userrootlocalhostidentified by新密码;5.3 验证登录使用quit命令退出当前登录后再用修改后的密码登录此服务如下图所示
返回列表