linux下安装mysql

----------------------------------------------------------------------------------------------------
先安装mysql
代码:
sudo apt-get install mysql-server mysql-client

再装开发包
代码:
sudo apt-get install libmysqlclient15-dev
------------------------------------------------------------------------------------------------------
安装完以后,C代码里添加头文件
代码:
#include
编译方法:
代码:
gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs)
可以用以下代码测试一下
代码:
/* Simple C program that connects to MySQL Database server*/
#include
#include

main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;

char *server = "localhost";
char *user = "root";
char *password = ""; /* 此处改成你的密码 */
char *database = "mysql";

conn = mysql_init(NULL);

/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

/* send SQL query */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

res = mysql_use_result(conn);

/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);

/* close connection */
mysql_free_result(res);
mysql_close(conn);
}
========================================================================
查看的命令  mysql -uroot -p123 --version 可以看到当前使用的版本,
因为以前我演示的 root 密码是空密码,所以刚才有些错误。。要输入密码。
下面登陆 进去 mysql
# mysql -uroot -p123456
先创建一个数据库 realtime_database
> create database realtime_database;
> use realtime_database;

> source /opt/data 20111125 1732.sql

> show tables;

 

创建一个user表。
> create table user
(
   id int unsigned auto_increment not null primary key,
   name varchar( 25 )
);

创建另外一个admin表。
> create table admin
(
   id int unsigned auto_increment not null primary key,
   name varchar( 25 )
);
然后 在 user表 插入一条记录。
> insert into user(name) values( 'jame' );
===================================================
上面都是为了下面的演示 也创建的临时数据,呵呵。
下面进行有关数据的导入

例如 我现在有个文本文件 格式如下 /opt/user.txt
2 kelly
这个文件要导入到 user 表中去。
mysql> select * from user;
+----+------+
| id | name |
+----+------+
|  1 | jame |
+----+------+
现在开始导入
mysql> load data infile '/opt/user.txt' into table user;
再次查询就发现成功 导入到数据表了。
mysql> select * from user;
+----+-------+
| id | name  |
+----+-------+
|  1 | jame  |
|  2 | kelly |
+----+-------+
另外的一种导入方式,
我们先修改一下 刚才的 /opt/user.txt 文件
3 Ken
然后使用下面命令进行导入
# mysqlimport -uroot -p123 cnetsa /opt/user.txt
cnetsa.user: Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
进入数据库查看是否 成功:
mysql> select * from user;
+----+-------+
| id | name  |
+----+-------+
|  1 | jame  |
|  2 | kelly |
|  3 | Ken   |
+----+-------+
==============================================
好了,现在讲一下如何备份数据库和数据表
将数据库 cnetsa 全部数据表 备份到 /opt/cnetsa_2009_5_29.sql 文本文件中
# mysqldump -uroot -p123 --opt cnetsa > /opt/cnetsa_2009_5_29.sql
可以进行查看 cat /opt/cnetsa_2009_5_29.sql
----------------
如果你想只备份 数据库中的一张表呢 ?
例如 cnetsa 这个数据库的 user 表
# mysqldump -uroot -p123 --opt cnetsa user > /opt/cnetsa_user_2009_5_29.sql
---------------
或者想同时备份 多个数据库,而不需要一个个备份。
# mysqldump -uroot -p123 --databases cnetsa test > /opt/test_cnetsa_user_2009_5_29.sql
===============================================
做好了备份, 哪么如何恢复数据库 ?
下面按照 上面的顺序,来演示一下 恢复数据库。
恢复数据库
先删掉原来的数据库,
> drop database cnetsa;
> create database cnetsa;
> use cnetsa;
> show tables;

 可以看到没有任何表
下面进行恢复
> source /opt/data 20111125 1732.sql

> show tables;   原来的数据表得到了恢复。
----------------------
下面演示恢复数据库中的其中一张表
先删掉一张表
> drop table user;
> show tables;
下面进行恢复表
> source /opt/cnetsa_user_2009_5_29.sql;
> show tables;
前后对比 show tables 可以看到 user 表得到了恢复。。。
--------------------
一次恢复多个数据库
下面先把 cnetsa 和 test 数据库 进行删除
> drop database cnetsa;
> drop database test;
> show databases;
下面进行恢复
> source /opt/test_cnetsa_2009_5_29.sql
是这个名字。我们刚才备份的名字
/opt/test_cnetsa_user_2009_5_29.sql
> source /opt/test_cnetsa_user_2009_5_29.sql
> show databases;
刚才删掉的数据库又回来了,呵呵
============================================
数据备份后结果:
mysql> show tables;
+-----------------------------+
| Tables_in_realtime_database |
+-----------------------------+
| history_info                |
| pointinfo_setting           |
| realtime_info               |
+-----------------------------+
3 rows in set (0.00 sec)

mysql> select * from history_info limit 5;
+----+---------+------+------------------+--------------------+
| ID | PointID | Type | Value            | Time               |
+----+---------+------+------------------+--------------------+
|  1 |       1 | 0    |                3 | 634575672174062500 |
|  2 |       2 | 1    |              111 | 634575672174062500 |
|  3 |       3 | 2    |              382 | 634575672174062500 |
|  4 |       4 | 3    | 17.8146228790283 | 634575672174062500 |
|  5 |       5 | 4    | 11.0342330106453 | 634575672174062500 |
+----+---------+------+------------------+--------------------+
5 rows in set (0.00 sec)

Rows in history_info:
1 1 0 3 634575672174062500
2 2 1 111 634575672174062500
3 3 2 382 634575672174062500
4 4 3 17.8146228790283 634575672174062500
5 5 4 11.0342330106453 634575672174062500

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值