MySQL导入.sql文件及常用命令

MySQL导入.sql文件及常用命令

在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令:

mysql> source d:/myprogram/database/db.sql;

另附mysql常用命令:

一) 连接MYSQL:

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

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

首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

2、例2:连接到远程主机上的MYSQL (远程:IP地址)

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

mysql -h10.0.0.1 -uroot -p123

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

3、退出MYSQL命令

exit (回车)

(二) 修改密码:

格式:mysqladmin -u用户名 -p旧密码 password 新密码

1、例1:给root加个密码123。首先在DOS下进入目录C:/mysql/bin,然后键入以下命令:

mysqladmin -uroot -password 123

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2、例2:再将root的密码改为456

mysqladmin -uroot -pab12 password 456

(三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令: grant select,insert,update,delete on *.* to test2@localhost identified by "abc";

如果你不想test2有密码,可以再打一个命令将密码消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

(四) 显示命令

1、显示数据库列表:

show databases; 刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。

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 表名;

导出sql脚本

mysqldump -u 用户名 -p 数据库名 > 存放位置

mysqldump -u root -p test > c:/a.sql

导入sql脚本

mysql -u 用户名 -p 数据库名 < 存放位置

mysqljump -u root -p test < c:/a.sql

注意,test数据库必须已经存在

MySQL导出导入命令的用例

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名表名> 导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

3.导出一个数据库结构

mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:wcnc_db.sql

1、登陆MySQL:

mysql -u root -p

password:输入密码

2、查看用户信息

select user,host,password from mysql.user;

select user,host from mysql.user;

3、设置密码

set password for root@localhost=password('在这里填入root密码');

4、修改密码

方法1:mysqladmin -u root -p password newpassword

方法2: #mysql -u root -p mysql

mysql>UPDATE user SET password=PASSWORD("new") WHERE user='root';

mysql>flush privileges;

5、删除匿名用户

delete from mysql.user where user='';

6、查看系统已存在的数据库

show databases;

7、删除名为test的空数据库

drop database test;

8、建立mysql用户

例a:建立对test数据库有完全操作权限的名为centospub的用户

mysql>grant all privileges on test.* to centospub@localhost identified by 'password';

例b:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

但例b增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了。

例c:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。

mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

9、查找确认centospub用户的存在与否

select user from mysql.user where user='centospub';

10、 建立名为test的数据库

create database test;

11、取消centospub用户对数据库的操作权限

revoke all privileges on *.* from centospub@localhost;

12、删除centospub用户

delete from mysql.user where user='centospub' and host='localhost';

13、刷新,使所做的改动生效

flush privileges;

14、忘记MySQL的root密码,怎么修改

如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。

启动 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &

就可以不需要密码就进入 MySQL 了。

然后就是

mysql>use mysql

mysql>update user set password=password("new_pass") where user="root";

mysql>flush privileges;

重新杀 MySQL ,用正常方法启动 MySQL

一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使