当前位置:   article > 正文

mysql 常规命令操作_MYSQL快速入门之常用命令介绍

mysql 常规命令操作_MYSQL快速入门之常用命令介绍

1.帮助

1.1得到mysql帮助

mysql>help  (或者?)

eg:

mysql>?   contents (显示数据库的所有帮助内容列表)

mysql>?  data types(得到数据类型帮助)

mysql>?  int (得到int类型帮助)

mysql>?  show (得到show命令帮助)

mysql>?  create table(查看怎样建表)

1.2清屏

可以通过”\c”清除之前的输入

2.常用操作语句

mysql常用语句

2.1连接

$ mysql -u用户名 -p密码  [数据库名]

eg:

$mysql -uroot -p'root' test

在windows下 密码不需要用''圈起来,圈起来适得其反

2.2 查看mysql版本信息

mysql >select version();

2.3查看进程信息

mysql>show processlist\G;

2.4查看数据库状态

mysql>show databases;

//Information_schema(只读库,不能创建亦不能删除表)

mysql>status;                          //或者\s

show character set;//查看支持的字符集

show engines;       //查看存储引擎

2.5 查看sql语句的执行计划

mysql>explian sql

eg.

mysql>explain select * from ‘slowlog’  \G;

2.6 查看数据库的当前session参数设置

mysql>show variables like '%参数名%'

eg.

mysql >show variables like ‘wait_timeout’;

2.7 查看数据库的全局参数设置

mysql>show global variables like '%参数名%';

2.8 查看数据的当前session状态参数

mysql> show status like '%参数名%'

eg.

mysql>show status like ‘Handler_read%’;                      // (了解索引效果)

mysql>select last_insert_id();//查看自动增长列的值

2.9在mysql中执行系统命令

mysql>system 系统命令

2.11查看正在操作数据库的当前用户

mysql>select user();

mysql>seletc current_user();

2.10查看当前用户正在操作的数据库

mysql>select database();

2.11查看数据库当前时间

mysql>select current_time();

2.12修改当前session数据库参数

mysql>set 参数名=参数值

eg.

mysql> set wait_timeout=600;

2.13修改数据库全局参数

mysql>set global 参数名=参数值

eg.

mysql>set global wait_timeout=600

2.14常用表操作

mysql> describe tbl_name;//描述表

mysql>show create table tbl_name;//显示创建表语句

mysql>delete tbl_name;//删除表

mysql>truncate 表名;               //清空表

mysql>check table 表名;                      //检查表

mysql>analyze table …;//分析表

mysql>repair table …;//修复表

mysql>optimize table …;//优化表

mysql>flush table表名;                     //刷新表

mysql>alter table…;修改表

mysql>rename table ..;            #修改表名

eg.

mysql>Rename  table  basicinfo  to  basic;        //将表名由basicinfo修改为basic

mysql>Alter  table  basic rename to basicinfo;         //将表名由basic 修改为basicinfo

mysql> alter table tbl_name add col col_def after pre_col;

mysql>alter table tbl_name modify col col_def

mysql>Alter  table  basic  engine = innodb ;             // 更改存储引擎

mysql> Alter table basic default charset=utf8;        //更改默认字符集:

mysql>Alter table basicinfo convert to character set gbk;   //在线转换,可能会丢失部分信息,导致数据无法

mysql>Create  table newtbl engine=innodb default charset=utf8 select * from oldtbl;

//快捷建表如果两个表的存储引擎相同,默认这两个表的结构和数据会是一样,否则,这两张表的结构会有不同,数据会相同mysql>Create  table  newtbl  like  oldtbl;

mysql>Insert  into  newtbl select  *  from  oldtbl;

//快捷建表,避免了由于忽略存储引擎的影响而造成的,数据表结构不一致问题。

2.15常见索引操作

mysql>create index idx_colname on tbl_name(col) 创建索引

mysql>alter table tbl_name add index idx_colname(col); 添加索引

mysql>show index from tbl_name;显示索引

mysql>drop index idx_colname on tbl_name; 删除索引

2.16常见数据操作

mysql>create database db_name;  新建一个数据库

mysql>drop database db_name;删除指定数据库

2.17常见用户管理

查看用户权限

mysql>show grants

mysql>show grants for abc@localhost;

授权

mysql> grant select(id,se,rank) on testdb.apache_log to dba@localhost;

mysql> grant execute on procedure testdb.pr_add to dba@localhost;

mysql> grant execute on function testdb.fn_add to dba@localhost;

mysql> grant  select  on testdb.* to dba@localhost with  grant option;

mysql> grant all on test.* to ‘jack‘@‘localhost‘    identified by ‘jack123‘

with  MAX_CONNECTIONS_PER_HOUR 10

MAX_QUERIES_PER_HOUE 50

MAX_UPDATE_PER_HOUR 20;

权限回收

mysql>revoke all on *.* from dba@localhost; 回收权限

mysql>revoke all privileges on *.* from xxx@xxx;是不够的,还需要

mysql>revoke select,update on test.* from xxx@xxx;

3安装后常见设置

1.设置 server-id的值   [唯一]

2.查看机器性能:内存 2G、cpu双核、磁盘40G /home目录时参数设置参考:

character_set_server=utf8

skip_name_resolve

lower_case_table_names=1  #不区分大小写

key_buffer_size=16M

query_cache_size=256M

innodb_buffer_pool_size=512M

innodb_data_file_per_tables=1

server_id=1

#data目录在/home目录下

datadir=/home/mysqldir

#允许远程访问

bind-address=0.0.0.0

#打开二进制日志

binlog_cache_size=1M

binlog_format=mixed

log-bin=mysql-bin

expire_logs_days = 10

#打开慢查询日志

log_slow_queries = mysql-slow

long_query_time=1

#设置连接数

max_connection=300

#进程设置

thread_cache_size=32

thread_concurrency=4

3.修改配置文件的方法

修改/etc/mysql/my.cnf配置文件,在[mysqld]下

修改添加需要的参数

修改完成后,重启数据库。

4.备份

4.1常规备份

mysqldump -uroot -proot -E -R -A --flush-logs --lock-all-tables>备份文件

eg.  mysqldump -uroot -proot -E -R -A --flush-logs --lock-all-tables>test0989.sql

4.2

4.3其它常用备份参数

【-E】导出-B指定的数据库或-A数据库的执行计划

【-R】导出-B指定的数据库或-A数据库的存储过程

【-A】导出全部数据库

【-B】导出指定数据库

【--no-data】只导出表结构,不导出表数据(不加该参数表结构和数据一起导出)

【--dump-slave】

该选项将导致主的binlog位置和文件名追加到导出数据的文件中。设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,在命令前增加说明信息。该选项将会打开--lock-all-tables,除非--single-transaction被指定。该选项会自动关闭--lock-tables选项。默认值为0。

【--master-data】

该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE  MASTER命令前添加注释信息。与dump-slave的影响相同

【--single-transaction】

该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK  TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

【--include-master-host-port】

在--dump-slave产生的'CHANGE  MASTER TO..'语句中增加

'MASTER_HOST=,MASTER_PORT='

【--lock-all-tables,  -x】

提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。

【--flush-logs】

开始导出之前刷新日志。

请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。

【--hex-blob】

使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。

【--ignore-table】

不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:--ignore-table=database.table1 --ignore-table=database.table2 ……

【--no-create-db,  -n】

只导出数据,而不添加CREATE DATABASE 语句。

【--no-create-info,  -t】

只导出数据,而不添加CREATE TABLE 语句

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126478/viewspace-1424141/,如需转载,请注明出处,否则将追究法律责任。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/728081
推荐阅读
相关标签
  

闽ICP备14008679号