Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1737750
  • 博文数量: 358
  • 博客积分: 2180
  • 博客等级: 大尉
  • 技术积分: 1810
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-17 13:47
文章分类

全部博文(358)

文章存档

2016年(17)

2015年(55)

2014年(9)

2013年(67)

2012年(181)

2011年(29)

分类: Mysql/postgreSQL

2013-06-14 17:13:11

原文地址:linux下mysql常用命令 作者:bashshell

1.linux下启动mysql的命令:

  mysqladmin start

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

  2.linux下重启mysql的命令:

  mysqladmin restart

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

  3.linux下关闭mysql的命令:

  mysqladmin -u root -p密码 shutdown

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

  4.连接本机上的mysql:

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

  退出mysql命令:exit(回车)

  5.修改mysql密码:

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

  或进入mysql命令行SET PASSWORD FOR '用户名主机' = PASSWORD(‘密码');

  GRANT USAGE ON *.* TO '用户名主机' IDENTIFIED BY 'biscuit';

  修改自己的密码SET PASSWORD = PASSWORD('biscuit');

  6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符)

  grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;

  flush privileges;(刷新权限设置)

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

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

  grant select,insert,update,delete on *.* to " Identified by "123";

  7.跳过授权访问mysql

  mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

  二、有关mysql数据库方面的操作

  必须首先登录到mysql中,有关操作都是在mysql的提示符下进行,而且每个命令以分号结束

  1、显示数据库列表。

  show databases;

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

  9、编码的修改

  如果要改变整个mysql的编码格式:

  启动mysql的时候,mysqld_safe命令行加入

  --default-character-set=gbk

  如果要改变某个库的编码格式:在mysql提示符后输入命令

  alter database db_name default character set gbk;

  三、数据的导入导出

  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 -u root -p fukai –force < dmc010003_db.myisam.sql(强行导入)

  mysql>source news.sql;(在mysql命令下执行,可导入表)

  MySQLimport的常用选项介绍:

  -d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息

  -f or --force 不管是否遇到错误,MySQLimport将强制继续插入数据

  -i or --ignore MySQLimport跳过或者忽略那些有相同唯一关键字的行, 导入文件中的数据将被忽略。

  -l or -lock-tables 数据被插入之前锁住表,这样就防止了,你在更新数据库时,用户的查询和更新受到影响。

  -r or -replace 这个选项与-i选项的作用相反;此选项将替代表中有相同唯一关键字的记录。

  --fields-enclosed- by= char 指定文本文件中数据的记录时以什么括起的, 很多情况下数据以双引号括起。 默认的情况下数据是没有被字符括起的。

  --fields-terminated- by=char 指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号。您可以用此选项指定数据之间的分隔符。

  默认的分隔符是跳格符(Tab)

  --lines-terminated- by=str 此选项指定文本文件中行与行之间数据的分隔字符串或者字符。 默认的情况下MySQLimport以newline为行分隔符。

  您可以选择用一个字符串来替代一个单个的字符:

  一个新行或者一个回车。

  MySQLimport命令常用的选项还有-v 显示版本(version),-p 提示输入密码(password)

  例子:导入一个以逗号为分隔符的文件

  文件中行的记录格式是这样的:

  "1", "ORD89876", "1 Dozen Roses", "19991226"

  我们的任务是要把这个文件里面的数据导入到数据库Meet_A_Geek中的表格Orders中,我们使用这个命令:

  bin/MySQLimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt

  一、连接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 (回车)。

  mysql常用维护命令

  1、show global status;列出MySQL服务器运行各种状态值

  2、show variables;查询MySQL服务器配置信息语句

  3、查看慢查询

  show variables like '%slow%';

  show global status like '%slow%';

  4、最大连接数

  show variables like 'max_connections';MySQL服务器最大连接数

  show global status like 'Max_used_connections'; 服务器响应的最大连接数

  5、查看表结构

  desc Tablename;

  describe Tablename;

  show columns from Tablename;

  show create table Tablename;

+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| ID    | int(3)   | NO   | PRI | NULL    | auto_increment |
| xb    | char(10) | YES  |     | NULL    |                |
| nl    | int(3)   | YES  |     | NULL    |                |
| rq    | date     | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+
mysql 创建用户方法
sOso 发表于 2006-10-13 12:40:49

命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"


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



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



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



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



 

阅读(901) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~