Chinaunix首页 | 论坛 | 博客
  • 博客访问: 482657
  • 博文数量: 127
  • 博客积分: 7010
  • 博客等级: 少将
  • 技术积分: 1972
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-01 12:42
文章分类

全部博文(127)

文章存档

2009年(33)

2008年(94)

我的朋友

分类: LINUX

2008-04-16 14:10:17

MySQL数据库是一个多用户,多线程的关系型数据库,是一个客户机/结构的应用程序。它是对个人用户和商业用户是免费的.

Mysql数据库具有以下优点:

1.同时访问数据库的用户的数量不受限制

2.可以保存超过5千万条的记录

3.是目前市场上现有数据库产品中运行速度最快的数据库系统

4.用户权限设置简单、有效。

Mysql数据库常用命令:

启动Mysql数据库

C:\>cd Mysql5.0\bin

C:\Mysql5.0\bin>mysqld –install 安装Mysql服务

C:\Mysql5.0\bin>net start mysql 启动Mysql服务

请求的服务已经启动。

连接mysql

用户需要提供Mysql的用户名和密码来连接服务器,如果服务器不是在本机,则还需要一个主机名或IP来指定服务器的位置。

C:\Mysql5.0\bin>mysql -h localhost -u root -p

Enter pass: ****

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 6 to server version: 5.0.18-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

使用一条简单的查询语句

mysql> select version(),current_date;

mysql> select version();select now();

新建或删除一个数据库

Mysql>create database mydb;

Mysql> drop database mydb;

打开的数据库的命令

mysql> use mysql

Database changed

查看数据库的命令

mysql> show databases;

查看数据表的详细结构

mysql> desc func;

新建数据库

mysql> create database school;

Query OK, 1 row affected (0.00 sec)

新建表

mysql> create table user01(

-> id varchar(20) NOT NULL,

-> userName varchar(10) NOT NULL,

-> age int(11) default'0',

-> sex char(2) NOT NULL default'm',

-> PRIMARY KEY (id)

-> )TYPE=InnoDB;

Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;

插入和删除表中的数据

Create table student(stuName varchar(20),age varchar(20),id varchar(20),set0 char(1));

插入

mysql> insert into student(id,stuName) values('1','tomcat');

Query OK, 1 row affected (0.00 sec)

删除

mysql> delete from student where id='1';

Query OK, 1 row affected (0.01 sec)

删除表中所有数据

mysql> truncate table student;

Query OK, 1 row affected (0.01 sec)

删除表

mysql> create table temp(t varchar(1));

Query OK, 0 rows affected (0.00 sec)

mysql> drop table temp;

Query OK, 0 rows affected (0.00 sec)

创建新用户并给予权限

mysql> grant all privileges on *.* to dbuser@localhost identified by '1234'

with grant option;

更改Mysql用户密码

c:\Mysql5.0\bin>mysqladmin -u root -p password 1234

Enter password: ****

备份数据库及表

我们用mysqldump命令来备份数据库

c:\mysql\bin\>mysqldump –u root –p 3306 mysql>d:\backup.sql

执行此语句将把mydb 备份到D盘的backup.sql文件中

备份多个数据库表

c:\mysql\bin\>mysqldump –u root –p 3306 school user01 user >d:\backup.sql

此句的意思是把school库中的user01表和user表的内容和表的定义备份到D盘backup.sql文件中。

备份所有的数据库

c:\myql\bin>mysqldump –u root –p 3306 –all –database>d:backup.sql

还原Mysql数据库

c:\mysql\bin\mysql –u root –p 3306 school

还原其中的一个表

mysql> source d:\books.sql;

ERROR:

Unknown command '\b'.

Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

 

alter table news modify content longtext

alter table news change content content longtext

 

退出Mysql连接

mysql>quit(exit)

关闭mysql服务

C:\mysql\bin>net mysql
 

配置数据库(我这里的是 mysql 数据库):

1、在 mysql 中增加一个将用于访问你的数据库的用户名及密码:
/usr/local/mysql/bin/mysql -uroot -p
输入密码,进入 mysql 的管理界面中,然后输入:
grant all on dbname.* to username identified by 'password';
flush privileges;
然后输入 quit 退出 mysql 界面。

2、再一次用新增加的用户名和密码登录试试:
/usr/local/mysql/bin/mysql -uusername -p
如果能正常登录到 mysql 中,说明这个用户名和密码已经生效了。

3、在 mysql 的数据库目录下建立一个以数据库名为目录名的目录,如
cd /usr/local/mysql/data
mkdir
dbname
这时可以把以前备份的数据库文件(*.MYD *.MYI *.frm)全部拷到(或上传)这个目录下
上传完后,就修改这个目录(dbname)的属主、目录权限:
chown -R mysql dbname
chgrp -R mysql dbname
chmod 750
dbname

接着进入这个目录,修改这个目录下的文件的权限:
cd dbname
chmod 660 *

重新启动 mysql ,数据库恢复完毕。
service mysqld restart
检查数据库,这时一切应该都正常。

注意,如果没有修改数据库目录下的文件权限,可能会引起不安全的因素。


如果不修改数据库目录的权限,则数据库无法更新、修改,是只能读,用
check table tablename
检查时发现,表是只读的,而用
repair table tablename
则会提示:
Table './dbname/tablename' is marked as crashed and last (automatic?) repair failed
有时还会出现如下错误:
Can't find file: './dbname/tablename.frm' (errno: 13)

象这些情况,都是由于 linux 下的权限引起的,只要把权限改过来后,重新启动一下 mysql 就一切 ok 了!

阅读(804) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~