Mysql 常用命令

来源:互联网 发布:大学生网络家教 兼职 编辑:程序博客网 时间:2024/06/07 05:09

1、mysql服务的启动和停止

   停止服务:net stop mysql

   启动服务:net start mysql


2、登陆mysql

  mysql  -u用户名 -p用户密码  -h机器IP -P端口号 -D数据库名

  例:mysql -uroot -p'123' -h10.0.0.4 -P3306 -Dtest

 注:  1. –u、-h、-p后无需空格

         2.输入-p后可以直接跟上密码,也可以按回车,会提示你输入密码,二者都是相同的效果

         3. –p密码选项不一定是要在最后

mysql其它参数含义:

Usage: mysql [OPTIONS] [database]   //命令方式   -?, --help          //显示帮助信息并退出   -I, --help          //显示帮助信息并退出   --auto-rehash       //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子     -A, --no-auto-rehash  //默认状态是没有自动补全功能的。-A就是不要自动补全功能   -B, --batch         //ysql不使用历史文件,禁用交互   (Enables --silent)   --character-sets-dir=name   //字体集的安装目录                       --default-character-set=name    //设置数据库的默认字符集   -C, --compress      //在客户端和服务器端传递信息时使用压缩   -#, --debug[=#]     //bug调用功能   -D, --database=name //使用哪个数据库   --delimiter=name    //mysql默认命令结束符是分号,下面有例子   -e, --execute=name  //执行mysql的sql语句   -E, --vertical      //垂直打印查询输出   -f, --force         //如果有错误跳过去,继续执行下面的   -G, --named-commands   /*Enable named commands. Named commands mean this program's  internal commands; see mysql> help . When enabled, the  named commands can be used from any line of the query,  otherwise only from the first line, before an enter.  Disable with --disable-named-commands. This option is  disabled by default.*/   -g, --no-named-commands   /*Named commands are disabled. Use \* form only, or use  named commands only in the beginning of a line ending  with a semicolon (;) Since version 10.9 the client now  starts with this option ENABLED by default! Disable with  '-G'. Long format commands still work from the first  line. WARNING: option deprecated; use  --disable-named-commands instead.*/   -i, --ignore-spaces //忽视函数名后面的空格.   --local-infile      //启动/禁用 LOAD DATA LOCAL INFILE.   -b, --no-beep       //sql错误时,禁止嘟的一声   -h, --host=name     //设置连接的服务器名或者Ip   -H, --html          //以html的方式输出   -X, --xml           //以xml的方式输出   --line-numbers      //显示错误的行号   -L, --skip-line-numbers  //忽略错误的行号   -n, --unbuffered    //每执行一次sql后,刷新缓存   --column-names      //查寻时显示列信息,默认是加上的   -N, --skip-column-names  //不显示列信息   -O, --set-variable=name  //设置变量用法是--set-variable=var_name=var_value   --sigint-ignore     //忽视SIGINT符号(登录退出时Control-C的结果)   -o, --one-database  //忽视除了为命令行中命名的默认数据库的语句。可以帮跳过日志中的其它数据库的更新。   --pager[=name]      //使用分页器来显示查询输出,这个要在linux可以用more,less等。   --no-pager          //不使用分页器来显示查询输出。   -p, --password[=name] //输入密码   -P, --port=#        //设置端口   --prompt=name       //设置mysql提示符   --protocol=name     //使用什么协议   -q, --quick         //不缓存查询的结果,顺序打印每一行。如果输出被挂起,服务器会慢下来,mysql不使用历史文件。   -r, --raw           //写列的值而不转义转换。通常结合--batch选项使用。   --reconnect         //如果与服务器之间的连接断开,自动尝试重新连接。禁止重新连接,使用--disable-reconnect。   -s, --silent        //一行一行输出,中间有tab分隔   -S, --socket=name   //连接服务器的sockey文件   --ssl               //激活ssl连接,不激活--skip-ssl   --ssl-ca=name       //CA证书   --ssl-capath=name   //CA路径   --ssl-cert=name     //X509 证书   --ssl-cipher=name   //SSL cipher to use (implies --ssl).   --ssl-key=name      //X509 密钥名   --ssl-verify-server-cert //连接时审核服务器的证书   -t, --table         //以表格的形势输出   --tee=name          //将输出拷贝添加到给定的文件中,禁时用--disable-tee   --no-tee            //根--disable-tee功能一样   -u, --user=name     //用户名   -U, --safe-updates  //Only allow UPDATE and DELETE that uses keys.   -U, --i-am-a-dummy  //Synonym for option --safe-updates, -U.   -v, --verbose       //输出mysql执行的语句   -V, --version       //版本信息   -w, --wait          //服务器down后,等待到重起的时间   --connect_timeout=# //连接前要等待的时间   --max_allowed_packet=# //服务器接收/发送包的最大长度   --net_buffer_length=# //TCP / IP和套接字通信缓冲区大小。   --select_limit=#    //使用--safe-updates时SELECT语句的自动限制   --max_join_size=#   //使用--safe-updates时联接中的行的自动限制   --secure-auth       //拒绝用(pre-4.1.1)的方式连接到数据库   --server-arg=name   //Send embedded server this as a parameter.   --show-warnings     //显示警告  

退出MySQL: exit (回车)


3、增加新用户

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

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

   MySQL命令:grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

   如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。

   如果你不想user1有密码,可以再打一个命令将密码去掉。

   MySQL命令:grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

 

4、 操作数据库

   登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束

    4.1、 显示数据库列表。

           show databases;

           缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。

    4.2、 显示库中的数据表:

           use mysql;

           show tables;

    4.3、 显示数据表的结构:

           describe 表名;

    4.4、 建库与删库:

           create database 库名;

           drop database 库名;

    4.5、 建表:

          use 库名;

          create table 表名(字段列表);

          drop table 表名;

    4.6、 清空表中记录:

         delete from 表名;

    4.7、 显示表中的记录:

        select * from 表名;

 

5、导出和导入数据

    5.1. 导出数据:

        mysqldump --opt test > mysql.test

        即将数据库test数据库导出到mysql.test文件,后者是一个文本文件

        如:mysqldump -u root -p123456 --databases dbname > mysql.dbname

        就是把数据库dbname导出到文件mysql.dbname中。

   5. 2. 导入数据:

       mysqlimport -u root -p123456 < mysql.dbname。

   5.3. 将文本数据导入数据库:

       文本数据的字段数据之间用tab键隔开。

       use test;

       load data local infile "文件名" into table 表名;


6、常用MySQL命令流程

     6.1使用SHOW语句找出在服务器上当前存在什么数据库:

         mysql> SHOW DATABASES;

     6.2、创建一个数据库MYSQLDATA

         mysql> CREATE DATABASE MYSQLDATA;

     6.3选择你所创建的数据库

         mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)

     6.4查看现在的数据库中存在什么表

         mysql> SHOW TABLES;

     6.5创建一个数据库表

         mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

     6.6显示表的结构:

         mysql> DESCRIBE MYTABLE;

     6.7往表中加入记录

         mysql> insert into MYTABLE values ("hyq","M");

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

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

     6.9导入.sql文件命令(例如D:/mysql.sql)

         mysql>use database;

         mysql>source d:/mysql.sql;

      6.10删除表

         mysql>drop TABLE MYTABLE;

       6.11清空表

         mysql>delete from MYTABLE;

       6.12更新表中数据

         mysql>update MYTABLE set sex="f" where name='hyq';

       6.13备份数据库

         mysqldump -u root 库名>xxx.data


参考来源:

Mysql 远程登录及常用命令


0 0