建不了myslqmysql 新建数据库库

使用 Oracle SQL Developer 管理您的数据库
本教程说明了如何使用 Oracle SQL Developer 管理您的数据库对象。
大约 30 分钟
本教程包括下列主题:
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
Oracle SQL Developer 是一个新的免费图形工具,可提高工作效率并简化数据库开发任务。使用 SQL Developer,用户可以浏览数据库对象,运行 SQL 语句,编辑和调试 PL/SQL 语句,以及运行报告(提供的或创建的均可)。
SQL Developer 是用 Java 开发的,可以运行在 Windows、Linux 和 Mac 上。这对于不断增多的使用多个可选平台的开人员来说是一个巨大优势。多平台支持还意味着用户可以在数据库服务器上安装 SQL Developer,从他们的桌面进行远程连接,从而避免客户端服务器网络通信量。默认情况下是是通过 JDBC Thin 驱动器连接到数据库的,因此不需要 Oracle 主目录。 要安装 SQL Developer,只需解压缩下载的文件。 使用 SQL Developer,用户可以连接到 Oracle 数据库 9.2.0.1(和更高的版本)以及所有 Oracle 数据库版本(包括快捷版)。
开始本教程之前,您应该:
完成了教程。注意:您还可以连接到非 Windows 数据库来完成本教程。
下载 Oracle SQL Developer 并将其解压缩到 Windows 计算机上的任何目录。
确保不存在 DEPENDENTS 表。打开 SQL*Plus,执行以下命令:
connect hr/hr
使用 Oracle SQL Developer 管理数据库对象首先要创建数据库连接。执行以下步骤:
打开 Windows 资源管理器,双击 &your_path&\sqldeveloper\sqldeveloper.exe。
注意:您也可以在非 Windows 环境中执行 sqldeveloper。
在 Connections 选项卡中,右键单击 Connections 并选择 New Database Connection。
在 Connection Name 域中输入 &your_db_sid_name&(或者标识您的连接的任何其他名称),在 Username 和 Password 域中输入 hr,指定您的 &hostname& 作为 Hostname,在 SID 域中输 &your_db_sid&。然后单击 Test。
连接状态已成功测试。但没有保存该连接。要保存该连接,请单击 Connect。
保存了该连接,您可以在列表中看到该数据库。展开 ORCL。
注意:打开连接时,自动打开 SQL Worksheet。SQL Worksheet 允许您针对您刚创建的连接执行 SQL。
展开 Tables。
选择 EMPLOYEES 表,查看表定义。
要查看该数据,请单击 Data 选项卡。
数据随即显示。在下一个主题中,您将新建一个表并使用数据填充该表。
您可以新建一个名为 DEPENDENTS 的表,它包含一个带有 EMPLOYEES 表的外键。执行以下步骤:
右键单击 Tables 并选择 Create TABLE。
输入 DEPENDENTS 作为 Table Name,然后单击 Show Advanced Options 复选框。
输入 ID 作为 Name,选择 NUMBER 作为数据类型,并输入 6 作为 Precision。选择 Cannot be NULL 复选框。然后单击 Add Column 图标。
输入 FIRST_NAME 作为 Name 并输入 20 作为 Size。然后单击 Add Column 图标。
输入 LAST_NAME 作为 Name 并输入 25 作为 Size。选择 Cannot be NULL 复选框。然后单击 Add Column 图标。
输入 BIRTHDATE 作为名称,然后选择 DATE 作为数据类型。然后单击 Add Column 图标。
输入 RELATION 作为 Name,并输入 25 作为 Size。然后单击 Add Column 图标。
输入 GENDER 作为 Name 并输入 1 作为 Size。然后单击 Add Column 图标。
输入 RELATIVE_ID 作为 Name,选择 NUMBER 作为数据类型,并输入 6 作为 Precision。选择 Cannot be NULL 复选框。然后单击 OK 创建该表。
您的新表出现在表列表中。从列表中选择 DEPENDENTS。
Oracle SQL Developer 使得更改数据库对象变得非常简单。在该主题中,您在刚创建的 DEPENDENTS 表中删除一列。执行以下步骤:
单击 Actions... 按钮。
选择 Column,然后选择 Drop。
选择 Column Name GENDER 并单击 Apply。
该列已经删除。单击 OK。
右键单击 ORCL 数据库连接并单击 Refresh,以刷新数据库连接。
展开 ORCL > Tables。然后选择 DEPENDENTS 表。
在该主题中,您为 DEPENDENTS 表创建主键和外键约束。执行以下步骤:
右键单击 DEPENDENTS 并选择 Edit。
单击 Primary Key 选项卡。
选择 ID 列并单击 >,然后单击 Foreign Key 选项卡。
单击 Add。
选择 EMPLOYEES 作 Referenced Table 并选择 RELATIVE_ID 作为 Local Column,然后单击 OK。
通过执行以下步骤,您可以向表中添加数据:
单击 Data 选项卡。
然后单击 Insert Row 图标。
输入以下数据并单击 Commit Changes 图标。
FIRST_NAME
Littlefield
RELATIVE_ID
您刚添加的行被提交到数据库。
您还可以使用脚本一次添加多行。单击 SQL Worksheet ORCL 选项卡。
右键单击 SQL Statement 区域并选择 Open File。
导航到您的工作目录(例如,c:\wkdir)并选择 load_dep.sql 文件,然后单击 Open。
随即显示该脚本的 SQL。 单击 Run Script 图标。
该数据已插入。要查看该数据,请单击 DEPENDENTS 选项。
单击 Refresh 显示所有数据。
系统将列出表中的所有数据。
您可以导出数据以便在另一个工具(例如,Excel)中使用。右键单击任何列中的一个值,选择 Export,然后选择一个文件类型。
指定文目录和名称,然后单击 Apply。
如果您查看 DEPENDENTS.CSV 文件,您将看到以下内容。
访问 DEPENDENTS 数据的一种方式是:在 DEPENDENTS 表上生成一条 SELECT 语句,然后添加一个 WHERE 子句。执行以下步骤:
单击 ORCL SQL Worksheet 选项卡。
单击 clear(笔)图标移除 SQL Statement 窗口的内容。
将 DEPENDENTS 表从数据库对象列表拖放到 SQL 语句区域。
显示 SELECT 语句以及 DEPENDENTS 表中的所有列。向右滚到到 SELECT 语句结尾。
将 WHERE 子句 where relative_id > 110 添加到 SELECT 语句末尾“;”'之前。然后单击 Execute Statement 图标。
随即显示结果。
由于您刚刚在前一主题中运行的 SQL 语句需要频繁执行,因此您可以根据该 SQL 创建自定义报告。此外,您还可以使用绑定变量运行您数据库数据字典的报告。执行以下步骤:
在您刚执行的 ORCL SQL Worksheet 中选择该 SQL。然后单击 Edit 下拉菜单并选择 Copy。
单击 Reports 选项卡。
展开 Reports。
右键单击 User Defined Reports 并选择 Add Folder。
输入 Folder Name DEPENDENTS RPTS 并单击 Apply。
展开 User Defined Reports。
右键单击 DEPENDENT RPTS 并选择 Add Report。
输入该报告的 Name,在 SQL 区域中单击 ctrl+v 以便粘贴您从 ORCL SQL Worksheet 复制的 SQL。然后单击 Apply。
展开 DEPENDENTS RPTS。
选择您刚创建的报告。
单击 OK 连接到您的数据库。
随即显示您报告的结果。
您还可以运行 Data Dictionary 报表。展开 Data Dictionary Reports > Data Dictionary。然后选择 Dictionary Views。
取消选择 NULL 复选框。
输入 col 作为 Value 并单击 Apply。
显示所有名称中包含“col”的数据库字典视图。
Oracle SQL Developer 包含可扩展的 PL/SQL 调试功能。在该主题中,您将创建一个调整雇员工资的程序包规范和程序包主体。执行以下步骤:
单击 ORCL SQL Worksheet 选项卡。
单击左侧的 Connections 选项卡。
在 ORCL 数据库连接选项卡中,右键单击 SQL 语句区域并选择 Open File。
从您的工作目录 (c.\wkdir) 中选择 createHRpack.sql,并单击 Open。
单击 Run Script 图标。
该脚本成功运行,并且创建了程序包和程序包主体。右键单击 Packages 节点并选择 Refresh。
展开 ORCL > Packages > HR_PACK,并选择 HR_PACK 查看程序包定义。
选择 HR_PACK BODY 查看程序包主体定义。
要对程序包主体进行任何更改,请单击 Edit 图标。
单击任何 + 可以折叠代码,或者按 - 展开代码。
如果没有显示行号,您可以右键单击行号区域并单击 Toggle Line Numbers 打开它们。这可用于调试。
选择 Run > Run HR_PACK BODY。
随即显示参数窗口。您需要在此处设置输入参数。
将 P_ID 设置为 102 并将 P_INCREMENT 设置为 1.2。这意味着 ID 为 102 的雇员工资上涨 20%。EMPLOYEE_ID 102 的当前 SALARY 为 17000。单击 OK。
返回值为 20400。
要测试异常处理,请在导航器中右键单击 HR_PACK BODY 并选择 Run。
此时,将 P_INCREMENT 值更改为 5 并单击 OK。
在本例中,会引发消息为“Invalid increment value”的异常,因为 P_INCREMENT 值大于 1.5。
在本教程中,您学习了如何:
创建一个数据库连接
使用 Table 对话框添加新表
更改表定义
向表中添加数据
调试和执行 PL/SQL
将鼠标移到该图标上可以隐藏所有屏幕截图。1041人阅读
SQLServer(13)
安装MYSLQ数据库,安装好运行MySQL Server Instance Config Wizard,在最后一步却发现无法启动服务,出现这样的提示“cannot create windows service for
原因:错误的原因多数由于重新安装mysql或者对mydql升级,使用MySQL Configuration Wizard而产生。简单说就是你以前装过,没卸载干净,系统里有旧的mysql服务存在。
解决方法:
在DOS窗口下用 sc delete mysql命令
首先,在管理工具-&服务里面将的服务给停止,然后打开cmd 进入你的MySQL bin目录下,例如 C:\Program Files\MySQL\MySQL Server 5.5\bin 然后使用如下命令mysqld-nt -remove 然后就会显示......success! 好了下面进入添加删除程序,找到MySQL选择卸载,记得选择remove。最后将MySQL目录删除,还有数据库的目录也删除。
查看服务中有没有mysql,如果有将该服务停掉;
在控制面板中运行添加删除程序,将mysql卸载;
卸载后打开注册表,查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的键值,如果有相关mysql键值(mysql、mysqladmin)则删掉,即可;
重启,将mysql的安装残余目录删掉 (查看服务,此时服务中已没有mysql);
重新安装mysql.安装后先不要运行Server Instance Configuration wizard,重启后在开始菜单中运行该向导,即可。
解决步骤:
1、开始-MySQL-MySQL Server 5.5-MySQL Server Instance Config Wizard-Next-Remove Instance。
2、进入添加删除程序,找到MySQL选择卸载,选择remove。
3、进入注册表。
3.1、查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的键值,如果有相关mysql键值(mysql、mysqladmin)则删掉,即可;
3.2、查看HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\下有mysql目录就要删除。
3.3、查看HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\下有mysql目录就要删除。
3.4、查看HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services下有没有关于Mysql键值,有删除,即可。
3.5、查看HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services下有没有关于Mysql键值,有删除,即可。
3.6、查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下有没有关于Mysql键值,有删除,即可。
4、删除C:\Documents and Settings\All Users\Application Data目录下的MySQL目录。
5、进入MySql安装目录,删除目录。
不需要重启电脑,直接重新安装即可。
注意:在重新安装MySql之前,最好是把数据库备份一下。(win7系统打开Dos窗口以管理员的身份打开)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:129839次
积分:1647
积分:1647
排名:第14819名
原创:50篇
转载:27篇
评论:13条
(2)(2)(8)(1)(4)(2)(1)(3)(4)(1)(1)(2)(8)(5)(4)(1)(1)(2)(1)(3)(2)(10)(5)(2)(1)(1)想的太多,做的太少,中间的落差就是烦恼,要么去做,要么别想...
首先祝愿看到这片文章的你永远不要有机会用到它...
本文指针对用InnoDB引擎的Mysql数据库的数据恢复,如果是其它引擎的Mysql或其它数据库请自行google...
如果有一天你手挫不小心删掉了正式数据库中的数据,甚至把整个库给drop掉了,瞬间感觉眼前一黑有木有,感觉就像世界末日到了有木有,如果你有数据库备份还好,回复备份中的数据即可,或者你开了Mysql的二进制日志记录好像也可以从里面恢复,可是如果木有备份又木有开二进制日志记录是不是感觉苦逼了无从下手,下面的内容就针对这种情况给出一些解决方法...
1.首先你要尽快停掉mysql服务,把mysql数据库data文件夹下的内容全部拷出来,防止之后的操作覆盖删掉的数据。
2.准备一个Linux系统我用的是Ubuntu 12.04。
3.准备数据库恢复工具percona-data-recovery-tool-for-innodb,关于percona-data-recovery-tool-for-innodb:
  3.1.这个工具只能对InnoDB/XtraDB表有效,而无法恢复MyISAM表。
  3.2.这个工具是以保存的MySQL数据文件进行恢复的,而不用MySQL Server运行。
  3.3.不能保证数据总一定可被恢复。例如,被重写的数据不能被恢复。
  3.4.使用这个工具需要手动做一些工作,并不是全自动完成的。
  3.5.恢复过程依赖于你对丢失数据的了解程度,在恢复过程中可能需要在不同版本的数据之间做出选择。那么如果你越了解自己的数据,恢复的可能性就越大。
4.下载percona-data-recovery-tool-for-innodb并解压,打开终端,输入以下命令: 
wget https://launchpad.net/percona-data-recovery-tool-for-innodb/trunk/release-0.5/+download/percona-data-recovery-tool-for-innodb-0.5.tar.gz
tar -zxvf percona-data-recovery-tool-for-innodb-0.5.tar.gz
  4.1.转到解压后的目录的mysql-source子目录,运行配置命令:
cd percona-data-recovery-tool-for-innodb-0.5/mysql-source
./configure
  4.2.完成配置步骤后,回到解压后的根目录,运行make命令,编译生成page_parser和constraints_parser工具(如果编译过程中出现问题,诸如包依赖之类的,请根据错误提示自行补全):
5.提取数据
  InnoDB页的默认大小是16K,每个页属于一个特定表中的一个特定的index。page_parser工具通过读取数据文件,根据页头中的index ID,拷贝每个页到一个单独的文件中。
  如果你的MySQL server被配置为innodb_file_per_table=1,那么系统已经帮你实现上述过程。所有需要的页都在.ibd文件,而且通常你不需要再切分它。然而,如果.ibd文件中可能包含多个index,那么将页单独切分开还是有必要的。如果MySQL server没有配置innodb_file_per_table,那么数据会被保存在一个全局的表命名空间(通常是一个名为ibdata1的文件,本文属于这种情况),这时候就需要按页对文件进行切分。
  5.1.切分页--在解压后的根目录下新建dbfile文件夹并把你拷的data目录下的ibdata1文件复制到该文件夹。
    5.1.1.如果MySQL是5.0之前的版本,InnoDB采取的是REDUNDANT格式,在终端运行以下命令:
./page_parser -4 -f ./dbfile/ibdata1
    5.1.2.如果MySQL是5.0及以上版本,InnoDB采取的是COMPACT格式,在终端运行以下命令:
./page_parser -5 -f ./dbfile/ibdata1
  5.2.运行后,page_parser工具会创建一个pages-&TIMESTAMP&的目录,其中TIMESTAMP是UNIX系统时间戳。在这个目录下,为每个index ID,以页的index ID创建一个子目录。如图:
  5.3.选择需要的Index ID
    5.3.1.如果你只是删除了表中的数据而没有删除表,那么可以启动InnoDB Tablespace Monitor,输出所有表和indexes,index IDs到MySQL server的错误日志文件。创建innodb_table_monitor表用于收集innodb存储引擎表及其索引的存储方式:
mysql& CREATE TABLE innodb_table_monitor (id int) ENGINE=InnoDB;
如果innodb_table_monitor已经存在,drop表然后重新create表。等MySQL错误日志输出后,可以drop掉这张表以停止打印输出更多的监控。一个输出的例子如下:
TABLE: name sakila/customer, id 0 142, columns 13, indexes 4, appr.rows 0
COLUMNS: customer_id: DATA_INT len 2 prec 0; store_id: DATA_INT len 1 prec 0; first_name: type 12 len 135 prec 0; last_name: type 12 len 135 prec 0; email:
type 12 len 150 prec 0; address_id: DATA_INT len 2 prec 0; active: DATA_INT len 1 prec 0; create_date: DATA_INT len 8 prec 0; last_update: DATA_INT len 4 pr
ec 0; DB_ROW_ID: DATA_SYS prtype 256 len 6 prec 0; DB_TRX_ID: DATA_SYS prtype 257 len 6 prec 0; DB_ROLL_PTR: DATA_SYS prtype 258 len 7 prec 0;
INDEX: name PRIMARY, id 0 286, fields 1/11, type 3
root page 50, appr.key vals 0, leaf pages 1, size pages 1
customer_id DB_TRX_ID DB_ROLL_PTR store_id first_name last_name email address_id active create_date last_update
INDEX: name idx_fk_store_id, id 0 287, fields 1/2, type 0
root page 56, appr.key vals 0, leaf pages 1, size pages 1
store_id customer_id
INDEX: name idx_fk_address_id, id 0 288, fields 1/2, type 0
root page 63, appr.key vals 0, leaf pages 1, size pages 1
address_id customer_id
INDEX: name idx_last_name, id 0 289, fields 1/2, type 0
root page 1493, appr.key vals 0, leaf pages 1, size pages 1
last_name customer_id
这里,我们恢复的是sakila库下的customer表,从上面可以获取其主键信息:
INDEX: name PRIMARY, id 0 286, fields 1/11, type 3
    5.3.2如果你把整个数据库都drop掉了,那是没办法按照上面的方法找到需要的Index ID的,那么你可以用一下的方法来获取需要的Index ID:
      A:如果你能确定需要的表中有一些字段会有特殊值只在这个表中有记录,那么可以用以下命令搜索全部切分后的页:
grep -r "CP" pages-
        搜索后的结果如图(可以看到0-968就是需要的Index ID):
      B:如果找不出特殊值,官方教程好像说可以通过表字段名称搜索全部切分后的页,可是由于上面说的很笼统,我测试半天没有成功,有需要可以参考链接:
      C:最后方法,暴力破解,由于我要回复的表除A方法里面的之外其它的没有特殊值,B方法也没研究出来,只能通过脚本循环所有文件来比对了,首先需要执行5.4,5.5步骤,生成好要查找的表定义并编译constraints_parser工具,然后在解压根目录新建一个shell脚本,我命名的是test.sh,脚本内容:
#!/bin/bash
function ergodic(){
for file in ` ls $1`
if [ -d $1"/"$file ]
ergodic $1"/"$file
echo $1"/"$file #输出文件的完整的路径
./constraints_parser -5 -f $1"/"$file #提取数据
echo $1"/"$file #输出文件的完整的路径
1 #暂停一秒
INIT_PATH="pages-/FIL_PAGE_INDEX" #这里是分页后页面文件所在的文件夹
ergodic $INIT_PATH
        然后在终端输入./test.sh执行脚本,盯着终端直到终端输出有数据,且不是乱码的时候,那么当前提取的文件所在的文件夹名就是你要找的Index ID,然后执行5.6,5.7的过程即可,截图如下:
  5.4.生成表定义,这需要你知道要恢复表的结构,最简单的方法在测试服务器上新建一个与要恢复数据库一样的数据库,然后在终端输入(如果不知道表结构,也有可能通过表定义文件.frm回复,详细请参考:):
./create_defs.pl --host=服务器地址 --user=用户名 --password=密码 --db=数据库名 --table=表名 & include/table_defs.h
然后转到解压根目录下的include子目录打开table_defs.h文件,检查一下生成的是否正确,防止你在上面的数据库或表名写错而生成定义为空的文件,如图:
5.5.编译constraints_parser工具(每次生成表定义后都要重新编译):
gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -g -I include -I mysql-source/include -I mysql-source/innobase/include -c tables_dict.c -o lib/tables_dict.o
gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -g -I include -I mysql-source/include -I mysql-source/innobase/include -o constraints_parser constraints_parser.c lib/tables_dict.o lib/print_data.o lib/check_data.o lib/libut.a lib/libmystrings.a
gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -g -I include -I mysql-source/include -I mysql-source/innobase/include -o page_parser page_parser.c lib/tables_dict.o lib/libut.a
5.6.合并页,切分页后生成的Index号码的文件夹下面会有好多文件,提取记录前需要先把这些文件合并成一个文件:
find pages-/FIL_PAGE_INDEX/0-968/ -type f -name '*.page' | sort -n | xargs cat & pages-/FIL_PAGE_INDEX/0-968/customer_pages_concatenated
合并后如图:
5.7.提取合并后的数据:
./constraints_parser -5 -f pages-/FIL_PAGE_INDEX/0-968/customer_pages_concatenated & pages-/FIL_PAGE_INDEX/0-968/customer_data.tsv
提取后的文件如图:
文件中的内容就是表中的记录,你可以直接把tsv文件中的内容导入到数据库,也可以打开tsv文件把内容复制到excel表格中,用你习惯的方式导入。
阅读(...) 评论()My SQL数据库高可用架构
MySQL小型高可用架构
方案:MySQL双主、主从 + Keepalived主从自动切换&服务器资源:两台PC Server优点:架构简单,节省资源缺点:无法线性扩展,主从失败之后需要手动恢复主从架构MySQL中型高可用架构方案:MMM + MySQL双主 + 多从高可用方案服务器资源:1、至少五台PC Server,2台MySQL主库,2台MySQL从库,1台MMM Monitor;2、1台MMM Monitor选择低配;3、如果不采用F5作为从库的负载均衡器,可用2台PC SERVER部署LVS或HAProxy+Keepalived组合来代替;优点:双主热备模式,读写分离,SLAVE集群可线性扩展缺点:读写分离需要在程序端解决,Master大批量写操作时会产生主从延时MySQL大型高可用架构主要思路:中间件+MySQL Sharding如方案:Cobar等中间件+MySQL技术图片略。另外,还分享些MySQL一些主流的高可用架构1、MySQL双主 + Keepalived主备自动切换方案(上面已有)2、MySQL主从 + Keepalived主从自动切换方案(上面已有)3、MMM+MySQL双主 + 多从高可用方案(上面已有)4、MySQL + Pecemaker(Heartbeat) + DRBD高可用5、MySQL + RHCS 高可用方案6、MySQL + Cluser 集群架构7、Percona Xtradb Cluster 集群高可用性解决方案8、中间件 + MySQL 大型集群解决方案(上面已提到)&MySQL + Pecemaker(Heartbeat) + DRBD高可用 && MySQL + RHCS 高可用方案&Percona Xtradb Cluster 集群高可用性解决方案&MySQL多机房部署架构参考&&&
本文章来源:SUM服务器监控软件用户自创
业务热线电话:(+86)021-- &&&&
电子邮箱:
上海哲涛网络科技有限公司版权所有

我要回帖

更多关于 mysql怎么新建数据库 的文章

 

随机推荐