Linux命令行下操作MySQL的命令汇总(一)

2015-07-23 18:08:15 · 作者: · 浏览: 4

(注意:MySQL环境中的命令后面都带一个分号作为命令结束符)


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, 回车后提示输入密码,(在Linux下,如果mysql是系统服务器则直接 mysql -u root -p 回车就可以,不用进入mysql\bin 目录);
?退出mysql命令:exit(回车)


5.修改MySQL密码:


mysqladmin -u用户名 -p旧密码 password 新密码
?或进入mysql命令行SET PASSWORD FOR root=PASSWORD(“root”);


6.增加新用户。


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


GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
?UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


5、建表:
use 库名;
create table 表名(字段设定列表);


6、删库和删表:


drop database 库名;
drop table 表名;


7、将表中记录清空:


delete from 表名;


truncate table 表名;


8、显示表中的记录:
select * from 表名;


9、编码的修改


如果要改变整个mysql的编码格式:
?启动mysql的时候,mysqld_safe命令行加入
–default-character-set=gbk


如果要改变某个库的编码格式:在mysql提示符后输入命令
alter database db_name default character set gbk;


10.重命名表


alter table t1 rename t2;


11.查看sql语句的效率


explain < table_name >


例如:explain select * from t3 where id=3952602;


12.用文本方式将数据装入数据库表中(例如D:/mysql.txt)


mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;


三、数据的导入导出


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、