当前位置:首页 » 数据仓库 » linux下操作数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

linux下操作数据库

发布时间: 2022-08-31 02:12:37

㈠ linux下怎么启动从的数据库

Linux下oracle数据库启动和关闭操作
第一步:登陆
root登陆之后切换到oracle用户上,输入

su oracle

第二步:连接
在oracle用户下,输入

sqlplus /nolog

第三步:使用管理员权限
输入

connect /as sysdba

第四步:启动/关闭服务
输入

startup

startup参数
不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
nomount,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
mount,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!
谢谢!不准确的地方请指教!

shutdown

shutdown的参数
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
第五步:如果是启动服务,要开启监听
退出sqlplus模式,输入

lsnrctl start

㈡ linux环境下python怎样操作mysql数据库

linux环境下python怎样操作mysql数据库呢?方法如下:

首先在Linux环境下安装mysql-python

1、下载mysql-python

打开终端:

cd /usr/local

sudo wgethttp://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz

官网地址:http://sourceforge.net/projects/mysql-python/

2、解压

sudo tar -zxvf MySQL-python-1.2.2.tar.gz

cd MySQL-python-1.2.2

3、在安装前需进行配置

a、修改setup_posix.py中的mysql_config.path为你mysql安装目录的mysql_config路径

b、修改site.cfg中的threadsafe = False,去掉mysql_config前的注释,并改为mysql_config = /usr/local/mysql/bin/mysql_config

c、执行命令:

export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql

sudo ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so.14

sudo ldconfig (这个很重要,否则后面会报错ImportError: libmysqlclient.so.14: cannot open shared object file)

4、编译安装

1)python setup.py build

若未成功的话,需手动安装setuptools:

sudo apt-get install python-setuptools
2)sudo python setup.py install

5、测试

python

>>> import MySQLdb

没有错误,则表示安装成功了。

使用python操作MySQL

使用python连接MySQL,创建数据库,创建表格,插入/查询数据。python_mysql.py代码如下:

若出现类似于此的警告:

/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.2-py2.6-linux-i686.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets mole is deprecated from sets import ImmutableSet

解决办法如下:
找到上面路径MySQLdb下的__init__.py文件
1) 在文件中 "__init__.py"中, 注释掉:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
新增:
class DBAPISet(frozenset):


2) 在文件"converters.py"中,注释掉 from sets import BaseSet, Set 这一句话。

3) 在文件"converters.py"中, 修改 其中的"Set" 成为 "set" ( 只有两个地方需要修改,即大写改小写)

大概 line 45: return Set([ i for i in s.split(',') if i ]) 改为 return set([ i for i in s.split(',') if i ])

大概 line 129: Set: Set2Str, 改为 set: Set2Str,

1.引入MySQLdb库

import MySQLdb

2.和数据库建立连接

conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")

提供的connect方法用来和数据库建立连接,接收数个参数,返回连接对象.

比较常用的参数包括

host:数据库主机名.默认是用本地主机.

user:数据库登陆名.默认是当前用户.

passwd:数据库登陆的秘密.默认为空.

db:要使用的数据库名.没有默认值.

port:MySQL服务使用的TCP端口.默认是3306.

charset:数据库编码.

然后,这个连接对象也提供了对事务操作的支持,标准的方法

commit() 提交

rollback() 回滚

3.执行sql语句和接收返回值

cursor=conn.cursor()

n=cursor.execute(sql,param)

首先,我们用使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.这些方法包括两大类:1.执行命令,2.接收返回值

cursor用来执行命令的方法:

callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

executemany(self, query, args):执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

nextset(self):移动到下一个结果集

cursor用来接收返回值的方法:

fetchall(self):接收全部的返回结果行.

fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

fetchone(self):返回一条结果行.

scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.

下面的代码是一个完整的例子.

#使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s

sql="insert into cdinfo values(%s,%s,%s,%s,%s)"

#param应该为tuple或者list

param=(title,singer,imgurl,url,alpha)

#执行,如果成功,n的值为1

n=cursor.execute(sql,param)

#再来执行一个查询的操作

cursor.execute("select * from cdinfo")

#我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple

cds=cursor.fetchall()

#因为是tuple,所以可以这样使用结果集

print cds[0][3]

#或者直接显示出来,看看结果集的真实样子

print cds

#如果需要批量的插入数据,就这样做

sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"

#每个值的集合为一个tuple,整个参数集组成一个tuple,或者list

param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))

#使用executemany方法来批量的插入数据.这真是一个很酷的方法!

n=cursor.executemany(sql,param)

4.关闭数据库连接

需要分别的关闭指针对象和连接对象.他们有名字相同的方法

cursor.close()

conn.close()

以上方法就可以了。

另外,附MySQLdb的相关资料

更多关于MySQLdb的信息可以查这里:http://mysql-python.sourceforge.net/MySQLdb.html

㈢ 如何操作linux系统上的数据库

开启MySQL服务后,使用MySQL命令可以登录。一般使用mysql -uroot -p即可。如果数据库不是本机,则需要加参数,常用参数如下:

1,-h,指定ip地址,默认为localhost

2,-u,指定用户名。

3,-p,指定密码,密码可以接在-p后面输入mysql -uroot -p123456。也也可以mysql -uroot -p回车等提示输入密码时输入,这样输入密码没有回显。

㈣ 如何操作linux系统的mysql数据库

mysql
-u
root
-p
会提示输入密码
show
tables;
显示表
create
database
【数据库名称】;
use
【表名】;
选中要进行CRUD的表

㈤ 如何在Linux下用C/C++语言操作数据库sqlite3

示例代码:
// name: query.c
// This prog is used to test C/C++ API for sqlite3 .It is very simple,ha !
// Author : zieckey All rights reserved.
// data : 2006/11/18
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#define _DEBUG_
int main( void )
{
sqlite3 *db=NULL;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("zieckey.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
if( rc )
{
fprintf(stderr, "Can't open database: %s
", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}

else printf("You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
");
//创建一个表,如果该表存在,则不创建,并给出提示信息,存储在 zErrMsg 中
char *sql = " CREATE TABLE SensorData(
ID INTEGER PRIMARY KEY,
SensorID INTEGER,
SiteNum INTEGER,
Time VARCHAR(12),
SensorParameter REAL
);" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
#ifdef _DEBUG_
printf("zErrMsg = %s
", zErrMsg);
#endif
//插入数据
sql = "INSERT INTO "SensorData" VALUES(NULL , 1 , 1 , '200605011206', 18.9 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sql = "INSERT INTO "SensorData" VALUES(NULL , 1 , 1 , '200605011306', 16.4 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
int nrow = 0, ncolumn = 0;
char **azResult; //二维数组存放结果
//查询数据

sql = "SELECT * FROM SensorData ";
sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn , &zErrMsg );
int i = 0 ;
printf( "row:%d column=%d
" , nrow , ncolumn );
printf( "
The result of querying is :
" );
for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )
printf( "azResult[%d] = %s
", i , azResult[i] );
//释放掉 azResult 的内存空间
sqlite3_free_table( azResult );
#ifdef _DEBUG_
printf("zErrMsg = %s
", zErrMsg);
#endif
sqlite3_close(db); //关闭数据库
return 0;
}

我们这里用到了一个查询的语句是 "SELECT * FROM SensorData " ,
在C语言中对应的函数接口是 sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn , &zErrMsg );
这个函数接口的解释在程序中已经注释。

下面我们编译运行下看看,
[root@localhost temp]# export LD_LIBRARY_PATH=/usr/local/sqlite3/lib:$LD_LIBRARY_PATH
[root@localhost temp]# gcc query.c -lsqlite3 -L/usr/local/sqlite3/lib -I/usr/local/sqlite3/include
query.c:29:21: warning: multi-line string literals are deprecated
[root@localhost temp]# ./a.out
You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
zErrMsg = (null)
row:2 column=5
The result of querying is :
azResult[0] = ID
azResult[1] = SensorID
azResult[2] = SiteNum
azResult[3] = Time
azResult[4] = SensorParameter
azResult[5] = 1
azResult[6] = 1
azResult[7] = 1
azResult[8] = 200605011206
azResult[9] = 18.9
azResult[10] = 2
azResult[11] = 1
azResult[12] = 1
azResult[13] = 200605011306
azResult[14] = 16.4
zErrMsg = (null)
这里我们可以看到,azResult 的前面 5 个数据正好是我们的表 SensorData 的列属性,
之后才是我们要查询的数据。所以我们的程序中才有 i<( nrow + 1 ) * ncolumn 的判断条件:
for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )

printf( "azResult[%d] = %s ", i , azResult[i] );
输出中有 zErrMsg = (null) 这样的字句,这是 zErrMsg 保留的错误信息,
正如你所看到的,zErrMsg 为空,表明在执行过程中没有错误信息。

㈥ 怎么用linux命令连接racle数据库

可以通过SSH或者SecureCRTPortable等可以直接连接Linux操作系统的软件,连接到Linux系统。下面具体介绍一下:

1、登录到Linux后,就可以在命令窗口直接对Linux进行操作了。先将用户切换到Oracle。当显示为[oracle@db ~]$ 时,说明切换成功。命令:su - oracle;

2、切换到Oracle用户之后,我们登录到到sqlplus,使用dba权限登录到sqlplus。在sqlplus中,我们使用conn连接一下我们具体想要操作的数据库用户。命令:conn username/password,示connected表示连接成功;

3、在SQL>中输入想要进行操作的sql语句,这里我们举个简单的例子,以一个单表查询为例进行演示:sql语句:select * from tablename。

(6)linux下操作数据库扩展阅读:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

参考资料:Linux-网络

㈦ 怎么在linux中操作oracle数据库

我用的是redhat
linux,用下面的步骤来启动oracle数据库。
首先使用oracle用户登录linux,然后在shell命令行中执行下面的命令:
第一步:打开oracle监听
$
lsnrctl
start
第二步:进入sqlplus
$
sqlplus
/nolog
sql>
第三步:使用sysdab角色登录sqlplus
sql>
conn
/as
sysdba
第四步:启动数据库
sql>
startup
经过上面的四个步骤,oracle数据库就可以启动了。

㈧ linux进入数据库命令

格式: mysql -h主机地址 -u用户名-p用户密码

1、例1:连接到本机上的MYSQL

一般可以直接键入命令。

mysql -uroot -p1

回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

2、连接到远程主机上的MySQL。

假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:

mysql -h10.0.0.1 -uroot -p1231

(注:u与root可以不用加空格,其它也一样)

3、退出MySQL命令。

exit (回车)。

(8)linux下操作数据库扩展阅读:


Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。

Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

参考资料:网络-Linux