(注:如果MySQL服务没有加入到windows系统的环境变量中要进入MySQL的话需要进入mysql安装目录下的bin目录下,例如:D:/mysql/bin,再键入命令)
一、连接MySQL
1) 连接本机上的MySQL
格式:->mysql -u用户名-p密码
示例:->mysql -uroot -p123456
(注:u与root可以不用加空格,p与密码之间一定不要加空格)
2) 连接远程主机上的MySQL
格式:->mysql -h主机地址-u用户名-p用户密码
示例:->mysql -h192.168.1.101 -ulingyi -p123456
(注:h与主机地址之间可以加空格,u与root可以不用加空格,p与密码之间一定不要加空格)
二、修改密码
格式:->mysqladmin -u用户名-p旧密码password新密码
示例:->mysqladmin -uroot -p123456 password 123
(注:u与root可以不用加空格,p与密码之间一定不要加空格,password与新密码之间一定加空格)
三、新增用户
格式:->grant select on数据库.* to用户名@登录主机identified by "密码"
示例:增加一个用户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) 导出数据库为sql文件
a. 导出整个库
格式:->mysqldump -u用户名-p密码 数据库名>导出的路径文件名
示例:->mysqldump -uroot -p123456 test>D:\test.sql
(注:u与root可以不用加空格,p与密码之间一定不要加空格,数据库名和>之间可加可不加空格,>和导出的路径文件名之间可加可不加空格,导出的路径用\)
b. 导出一张表
格式:->mysqldump -u用户名-p密码 数据库名 表名>导出的路径文件名
示例:->mysqldump -uroot -p123456 test users> D:\user.sql
(注:u与root可以不用加空格,p与密码之间一定不要加空格,数据库名和表名之间一定加空格,表名和>之间可加可不加空格,>和导出的路径文件名之间可加可不加空格,导出的路径用\)
c. 导出一个数据结构
格式:->mysqldump -u用户名-p密码-d --add-drop-table数据库名>文件的路径/文件名
示例:->mysqldump -uroot -p123456 -d --add-drop-table test>D:/test_table.sql
-d 没有数据--add-drop-table在每个create语句之前增加一个drop table
(注:u与root可以不用加空格,p与密码之间一定不要加空格,数据库名和>之间可加可不加空格,>和导出的路径文件名之间可加可不加空格,导出的路径用\)
2) 将备份的sql文件导入数据库
格式:->source导入文件的路径/文件名
常用source命令
进入mysql数据库控制台,
如mysql -uroot -p123456
mysql>use test
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source D:/test.sql
(注:此命令在进入到数据内操作,要导入的文件一定是以前用mysqldump命令导出的,如果其他软件备份的sql文件可能会不兼容)
PS:导入文件大小限制问题
默认情况下:mysql对导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:
1.在php.ini中修改相关参数:
影响mysql导入文件大小的参数有三个:
memory_limit=128M,
upload_max_filesize=2M,
post_max_size=8M
修改upload_max_filesize=200 M这里修改满足你需要的大小,
可以同时修改其他两项memory_limit=250M post_max_size=200M
这样就可以导入200M以下的.sql文件了。
五、基本命令
1) 显示数据库列表
格式:->show databases;
示例:->show databases;
(注:两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作)
2) 显示库中的数据表
格式:>use数据库名;
>show tables;
示例:>use test;
>show tables;
3) 显示数据表的结构
格式:>use数据库名;
>describe 表名;
格式:>use test;
>describe excel;
4) 建库
格式:>create database库名;
示例:>create database shop;
5) 建表
格式:>use库名;
>create table 表名(字段设定列表);
6) 删库和删表
格式:>drop database库名;
>drop table 表名;
示例:>drop database shop;
>drop table p_user;
7) 将表中记录清空
格式:>DELETE from表名;
或
>TRUNCATE TABLE 表名;
示例:>DELETE FROM teacher;
或
>TRUNCATE TABLE teacher;
(注:用truncate清空的表id会从新记录 而delete清空的表则不会从新记录 会继续原数据记录,当然这里id为自增长)
8) 显示表中的记录
格式:>select * from表名;
示例:>select * from user;