赞
踩
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/,如需转载,请注明出处,否则将追究法律责任。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。