您的位置:首页 > 运维架构 > Linux

linux mysql 命令

2015-09-24 19:42 525 查看
1.赋予用户权限:grant all privileges on

eg: grant all privileges on *.* to
joe@localhost identified by '1';

flush privileges;

附 : mysql>
grant 权限1,权限2,…权限n on [b]数据库
名称.表名称 to 用户名@用户地址 identified by
‘连接口令’;[/b]

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。

当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。

当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。

用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。

‘连接口令’不能为空,否则创建失败。

例如:mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;

给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123

2.linux下启动mysql的命令:

mysqladmin start

/ect/init.d/mysql start (前面为mysql的安装路径)

3.linux下重启mysql的命令

mysqladmin restart

/ect/init.d/mysql restart (前面为mysql的安装路径)

4.linux下关闭mysql的命令:

mysqladmin shutdown

/ect/init.d/mysql shutdown (前面为mysql的安装路径)

5.连接本机上的mysql:

进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入密码。

退出mysql命令:exit(回车)

6.修改mysql密码:

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

或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");

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

有关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;

数据传入命令 load data local infile "文件名" into table 表名;(文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替)

13、导出数据库和表

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是一个文本文件,文件名任取。)

14、导入数据

mysql < all-databases.sql(导入数据库)

mysql>source news.sql;(在mysql命令下执行,可导入表)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: