1.首先从mysql.com下载mysql-noinstall-5.1.47-win32.zip,解压到e:\mysql5.1目录下.
2.设置系统环境变量,方便便在cmd命令行中使用mysql.
环境变量设置:右键单击桌面我的电脑,属性->高级->环境变量->双击 Path项,添加e:\mysql5.1\bin目录,如果要使用SDK开发,则要添加Lib和include目录到对应的Lib和include 环境变量中.
3.安装mysql服务(最好cmd在e:\mysql5.1\bin目录下):mysqld -install
4.启动服务 net start mysql,这样就可以在mysql下工作了.不需要用的时候可以用以下命令:
停止服务 net stop mysql
删除服务 mysqld -remove
5.打开一个CMD窗口,执行MySQL -h localhost回车,就可以看到 { Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.1.40-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. } 表示成功连接到MySQL了数据库了,接下来,可以查看数据库.
6.连接mysql
格式: mysql -h主机地址 -u用户名 -p用户密码
例1:连接到本机上的mysql
mysql -uroot -p
例2:连接到远程主机上的mysql
mysql -h110.110.110.110 -uroot -pabcd123
7.退出mysql命令
exit(回车)
或者
quit(回车)
8.修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例:给root加个密码ab12。首先在dos下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
9.增加新用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码";
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select‚insert‚update‚delete on *.* to test1@"%" identified by "abc";
(注意,这里test1还不能再localhost中登陆,还要键入一个命令:
grant select‚insert‚update‚delete on *.* to test1@localhost identified by "abc";)
例2、增加一个用户test2密码为abc‚让其只可以在localhost上登录, 并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机, 即mysql数据库所在的那台主机),这样用户即使用知道test2的密码,也无法从internet上直接访问数据库,只能通过mysql主机上的web页来访问了。
grant select‚insert‚update‚delete on mydb.* to test2@localhost identified by "abc";
注:还有一种增加新用户并分配权限的方式:
MySql 新建用户,新建数据库,用户授权,删除用户,修改密码
1.新建用户。
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("localhost","pppadmin",password("passwd"),'','','');
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/* 如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges; */
3.删除用户。
@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
10.显示数据库列表
show databases;
11.显示库中的数据表
use mysql;//数据库名称
show tables;
12.显示数据表的结构
describe 表名;
13.建库
create database 库名;
14.建表
use 库名;
create table 表名(字段设定列表);
15.删库和删表
drop database 库名;
drop table 表名;
16.将表中记录清空
delete from 表名;
17.显示表中的记录
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 in,然后键入以下命令:
mysql -uroot -p密码 < c:school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
18.将文本数据转到数据库中
1、 文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、 数据传入命令load data local infile "文件名" into table 表名;
注意:你最好将文件复制到mysql in目录下,并且要先用use命令选表所在的库。
19.导出和导入数据
a、导出表
mysqldump --opt school > school.sql
注释:将数据库school中的表全部备份到school.sql文件,school.sql是一个文本文件, 文件名任取,打开看看你会有新发现。
mysqldump --opt school teacher student > school.teacher.student.sql
注释:将数据库school中的teacher表和student表备份到school.teacher.student.sql文件,school.teacher.student.sql是一个文本文件,文件名任取,打开看看你会有新发现。
b、导入表
mysql
mysql>create database school;
mysql>use school;
mysql>source school.sql;
(或将school.sql换为school.teacher.sql / school.teacher.student.sql)
c、导出数据库
mysqldump --databases db1 db2 > db1.db2.sql
注释:将数据库dbl和db2备份到db1.db2.sql文件,db1.db2.sql是一个文本文件,文件名任取,打开看看你会有新发现。
(举个例子:
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中。)
d、导入数据库
mysql < db1.db2.sql
e、复制数据库
mysqldump --all-databases > all-databases.sql
注释:将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件, 文件名任取。
f、导入数据库
mysql
mysql>drop database a;
mysql>drop database b;
mysql>drop database c;
...
mysql>source all-databases.sql; (或exit退出mysql后 mysql < all-databases.sql)
20.创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个
grant all privileges on *.* to monty@"%" identified by 'something' with grant option;
21.删除授权
revoke all privileges on *.* from root@"%";
use mysql;
delete from user where user="root" and host="%";
flush privileges;
22.创建一个用户custom在特定客户端weiqiong.com登录,可访问特定数据库bankaccount
mysql> grant select‚insert‚update‚delete‚create‚drop on bankaccount.* to [email protected] identified by 'stupid';
23.重命名表
alter table t1 rename t2;
24.改变列
为了改变列a,从integer改为tinyint not null(名字一样),并且改变列b,从char(10)改为char(20),同时重命名它,从b改为c:
alter table t2 modify a tinyint not null‚ change b c char(20);
25.增加列
增加一个新timestamp列,名为d:
alter table t2 add d timestamp;
26.在列d上增加一个索引,并且使列a为主键
alter table t2 add index (d)‚ add primary key (a);
27.删除列
alter table t2 drop column c;
28.删除记录
delete from t1 where c>10;
29.改变某几行
update t1 set user=weiqiong‚password=weiqiong;
30.创建索引
使用name列的头10个字符创建一个索引:
create index part_of_name on customer (name(10));