1.linux
下启动
mysql
的命令:
mysqladmin start
/ect/init.d/mysql start (
前面为
mysql
的安装路径
)
2.linux
下重启
mysql
的命令:
mysqladmin restart
/ect/init.d/mysql restart (
前面为
mysql
的安装路径
)
3.linux
下关闭
mysql
的命令:
mysqladmin shutdown
/ect/init.d/mysql shutdown (
前面为
mysql
的安装路径
)
4.
连接本机上的
mysql
:
进入目录
mysql\bin
,再键入命令
mysql -uroot -p
,
回车后提示输入密码。
退出
mysql
命令:
exit
(回车)
5.
修改
mysql
密码:
mysqladmin -u
用户名
-p
旧密码
password
新密码
或进入
mysql
命令行
SET PASSWORD FOR
root=PASSWORD("root");
6.
增加新用户。(注意:
mysql
环境中的命令后面都带一个分号作为命令结束符)
grant select on
数据库
.* to
用户名
@
登录主机
identified by "
密码
"
如增加一个用户
test
密码为
123
,让他可以在任何主机上登录,
并对所有数据库有查询、插入、修改、删除的权限。首先用以
root
用户连入
mysql
,然后键入以下命令:
grant select,insert,update,delete on *.* to " Identified by
"123";
二、有关
mysql
数据库方面的操作
必须首先登录到
mysql
中,有关操作都是在
mysql
的提示符下进行,而且每个命令以分号结束
1
、显示数据库列表。
show databases;
2
、显示库中的数据表:
use mysql
;
//打开库
show tables;
3
、显示数据表的结构:
describe
表名
;
4
、建库:
create database
库名
;
5
、建表:
use
库名;
create table
表名
(
字段设定列表
)
;
6
、删库和删表
:
drop database
库名
;
drop table
表名;
7
、将表中记录清空:
delete from
表名
;
8
、显示表中的记录:
select * from
表名
;
9
、编码的修改
如果要改变整个
mysql
的编码格式:
启动
mysql
的时候,
mysqld_safe
命令行加入
--default-character-set=gbk
如果要改变某个库的编码格式:在
mysql
提示符后输入命令
alter database db_name default character set gbk;
三、数据的导入导出
1
、文本数据转到数据库中
文本数据应符合的格式:字段数据之间用
tab
键隔开,
null
值用来代替。例:
1 name duty 2006-11-23
数据传入命令
load data local infile "
文件名
" into table
表名
;
2
、导出数据库和表
mysqldump --opt news > news.sql
(将数据库
news
中的所有表备份到
news.sql
文件,
news.sql
是一个文本文件,文件名任取。)
mysqldump --opt news author article >
author.article.sql
(将数据库
news
中的
author
表和
article
表备份到
author.article.sql
文件,
author.article.sql
是一个文本文件,文件名任取。)
mysqldump --databases db1 db2 > news.sql
(将数据库
dbl
和
db2
备份到
news.sql
文件,
news.sql
是一个文本文件,文件名任取。)
mysqldump -h host -u user -p pass --databases
dbname > file.dump
就是把
host
上的以名字
user
,口令
pass
的数据库
dbname
导入到文件
file.dump
中
mysqldump --all-databases > all-databases.sql
(将所有数据库备份到
all-databases.sql
文件,
all-databases.sql
是一个文本文件,文件名任取。)
3
、导入数据
mysql < all-databases.sql
(导入数据库)
mysql>source news.sql;
(在
mysql
命令下执行,可导入表)
一、连接
MySQL
格式:
mysql -h
主机地址
-u
用户名
-
p
用户密码
1
、例
1
:连接到本机上的
MYSQL
。
首先在打开
DOS
窗口,然后进入目录
mysqlbin
,再键入命令
mysql -uroot -p
,回车后提示你输密码,如果刚安装好
MYSQL
,超级用户
root
是没有密码的,故直接回车即可进入到
MYSQL
中了,
MYSQL
的提示符是:
mysql>
。
2
、例
2
:连接到远程主机上的
MYSQL
。假设远程主机的
IP
为:
110.110.110.110
,用户名为
root,
密码为
abcd123
。则键入以下命令:
mysql
-h110.110.110.110 -uroot -pabcd123
(注
:u
与
root
可以不用加空格,其它也一样)
3
、退出
MYSQL
命令:
exit
(回车)。
二、修改密码
格式:
mysqladmin -u
用户名
-p
旧密码
password
新密码
1
、例
1
:给
root
加个密码
ab12
。首先在
DOS
下进入目录
mysqlbin
,然后键入以下命令:
mysqladmin
-uroot -password ab12
注:因为开始时
root
没有密码,所以
-p
旧密码一项就可以省略了。
2
、例
2
:再将
root
的密码改为
djg345
。
mysqladmin
-uroot -pab12 password djg345
三、增加新用户。(注意:和上面不同,下面的因为是
MySQL
环境中的命令,所以后面都带一个分号作为命令结束符)
格式:
grant select on
数据库
.* to
用户名
@
登录主机
identified by \"
密码
\"
例
1
、增加一个用户
test1
密码为
abc
,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以
root
用户连入
MySQL
,然后键入以下命令:
grant
select,insert,update,
delete on *.* to
test1@\"%\
" Identified by \"abc\";
但例
1
增加的用户是十分危险的,你想如某个人知道
test1
的密码,那么他就可以在
internet
上的任何一台电脑上登录你的
MySQL
数据库并对你的数据可以为所欲为了,解决办法见例
2
。
例
2
、增加一个用户
test2
密码为
abc,
让他只可以在
localhost
上登录,并可以对数据库
mydb
进行查询、插入、修改、删除的操作(
localhost
指本地主机,即
MySQL
数据库所在的那台主机),这样用户即使用知道
test2
的密码,他也无法从
internet
上直接访问数据库,只能通过
MySQL
主机上的
web
页来访问。
grant
select,insert,update,
delete on mydb.* to
test2@localhost
identified
by \"abc\";
如果你不想
test2
有密码,可以再打一个命令将密码消掉。
grant
select,insert,update,delete on mydb
.* to
test2@localhost
identified
by \"\";
在上面讲了登录、增加用户、密码更改等问题。下面我们来看看
MySQL
中有关数据库方面的操作。注意:你必须首先登录到
MySQL
中,以下操作都是在
MySQL
的提示符下进行的,而且每个命令以分号结束。
一、操作技巧
1
、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就完成。
2
、你可以使用光标上下键调出以前的命令。但以前我用过的一个
MySQL
旧版本不支持。我现在用的是
mysql-3.23.27-beta-win
。
二、显示命令
1
、显示数据库列表:
show
databases;
刚开始时才两个数据库:
mysql
和
test
。
MySQL
库很重要它里面有
MYSQL
的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2
、显示库中的数据表:
use mysql
;
//打开库,学过
FOXBASE
的一定不会陌生吧
show
tables;
3
、显示数据表的结构:
describe
表名
;
4
、建库:
create
database
库名
;
5
、建表:
use
库名;
create
table
表名
(
字段设定列表
)
;
6
、删库和删表
:
drop
database
库名
;
drop table
表名;
7
、将表中记录清空:
delete
from
表名
;
8
、显示表中的记录:
select *
from
表名
;
三、一个建库和建表以及插入数据的实例
drop
database if exists school; //
如果存在
SCHOOL
则删除
create
database school; //
建立库
SCHOOL
use
school; //
打开库
SCHOOL
create
table teacher //
建立表
TEACHER
(
id int(3)
auto_increment not null primary key,
name
char(10) not null,
address
varchar(50) default ’
深圳
’,
year date
); //
建表结束
//
以下为插入字段
insert
into teacher values(’’,’glchengang’,’
深圳一中
’,’1976-10-10’);
insert
into teacher values(’’,’jack’,’
深圳一中
’,’1975-12-23’);
注:在建表中(
1
)将
ID
设为长度为
3
的数字字段
:int(3)
并让它每个记录自动加一
:auto_increment
并不能为空
:not null
而且让他成为主字段
primary key
(
2
)将
NAME
设为长度为
10
的字符字段(
3
)将
ADDRESS
设为长度
50
的字符字段,而且缺省值为深圳。
varchar
和
char
有什么区别呢,只有等以后的文章再说了。(
4
)将
YEAR
设为日期字段。
如果你在
MySQL
提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为
school.sql
,然后复制到
c:\\
下,并在
DOS
状态进入目录
\\mysql\\bin
,然后键入以下命令:
mysql
-uroot -p
密码
< c:\\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将
//
的注释去掉即可使用)。
四、将文本数据转到数据库中
1
、文本数据应符合的格式:字段数据之间用
tab
键隔开,
null
值用
\\n
来代替。
例:
3 rose
深圳二中
1976-10-10
4 mike
深圳一中
1975-12-23
2
、数据传入命令
load data local
infile \"
文件名
\"
into table
表名。
注意:你最好将文件复制到
\\mysql\\bin
目录下,并且要先用
use
命令打表所在的库。
五、备份数据库:
1
、
mysqldump --opt
school>school.bbb
mysqldump
--opt school>school.bbb
(命令在
DOS
的
\\mysql\\bin
目录下执行)
注释
:
将数据库
school
备份到
school.bbb
文件,
school.bbb
是一个文本文件,文件名任取,打开看看你会有新发现。
后记:其实
MySQL
的对数据库的操作与其它的
SQL
类数据库大同小异,您最好找本将
SQL
的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。最好的
MYSQL
教程还是
“
晏子
“
译的
“MYSQL
中文参考手册
“
不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象
\"PHP4
中文手册
\"
那样是
chm
的格式,在查找函数命令的时候不太方便。
2
、修改登录密码
1)
mysqladmin -u
用户名
-p
旧密码
password
新密码
:
例:
mysqladmin -u root password
21century
注:因为开始时
root
没有密码,所以
-p
旧密码一项就可以省略了。
2)
直接修改
user
表的
root
用户口令:
mysql>
user mysql;
mysql> update user set
pasword=password('21century') where user='root';
mysql> flush privileges;
注:
flush privileges
的意思是强制刷新内存授权表,否则用的还是缓冲中的口令。
3
、测试密码是否修改成功
:
1
)不用密码登录
:
[root@test1 local]# mysql
ERROR 1045: Access denied for
user:
'root@localhost'
(Using
password: NO)
显示错误,说明密码已经修改。
2
)用修改后的密码登录
:
[root@test1 local]# mysql -u root -p
Enter password: (
输入修改后的密码
21century)
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 177
to server version: 3.23.48
Type 'help;' or '\h' for help.
Type '\c' to clear the buffer.
mysql>
成功!
这是通过
mysqladmin
命令修改口令,也可通过修改库来更改口令。
4
、启动和停止
:
启动:
Mysql
从
3.23.15
版本开始作了改动,默认安装后服务要用
MySQL
用户来启动,不允许
root
用户启动。
如果非要用
root
用户来启动,必须加上
--user=root
参数
(./safe_mysqld --user=root
&)
停止:
mysqladmin -u root -p
shutdown
。
5
、导出
meeting
数据库:
mysqldump
-uroot -p21century meeting > db_meeting.sql
导人
dbname
数据库
:
mysqldump
-uroot -p21century dbname < xxx.sql
导入数据库还可用类似于
oracle
中
@my_script.sql
的方式一次执行大量
sql
语句,这在使用
mysqldump
不起作用时非常有用。
例:
#./mysql -uroot -p <
/home/xuys/db_meeting_2003.sql
(
注:
create database
、
use databasename
、
create table
和
insert into
语句都可写在上面的脚步文件中
)
6
、给表改名
:
RENAME
TABLE ztemp TO ztemp4;
7
、修改字段属性:
ALTER
TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;
8
、在表中的
content
后增加一字段:
ALTER
TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER
|