博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql常用命令
阅读量:6078 次
发布时间:2019-06-20

本文共 3752 字,大约阅读时间需要 12 分钟。

hot3.png

0.mysql服务安装及启动

#yum install mariadb-server -y //如果已安装可以省略
#systemctl start mariadb.service //启动服务 
#systemctl enable mariadb.service //开机启动服务 
#mysql -u root -p //登录mysql 
#mysqladmin -uroot shutdown //关闭mysql服务

1.linux连接mysql命令

#mysql -h 192.168.190.**  -P3306 -u sonar -p
Enter password: 
mysql>

2.常看当前正在执行的进程:

show full processlist ;

3.删掉某个正在运行的进程

kill ${id值};

4.查询数据库word表posts占用的空间大小:

select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB,  
 concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB  
from information_schema.tables where  
table_schema='word'  
and table_name = 'posts'; 

5.查询数据库引擎相应sql:

看你的mysql现在已提供什么存储引擎:
mysql> show engines;
看你的mysql当前默认的存储引擎:
mysql> show variables like '%storage_engine%';
你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table table_name;

6.查询mysql优化配置是否生效

show variables like '%pool%';

7.windows下mysql配置文件修改my.ini位置(引擎为innodb情况下,优化这些参数非常关键):

C:\ProgramData\MySQL\MySQL Server 5.7

【官方网址】

https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

8.drop、truncate和delete的区别

1.作用及效果
drop>truncate>delete
drop数据、索引、表都删除
truncate删除数据,不删除索引、表
delete只删除数据,不删除索引、表,可以一句条件删除
2.是否可恢复
delete可恢复,truncate、drop不可恢复
3.空间释放(表,索引,数据)
drop释放所有空间
truncate释放表空间
delete不释放空间,不同引擎有不同的释放策略

9.查看表创建信息,包括引擎|主键|自增等

show create table posts_js02

10.查看数据库中的所有数据库用户:

select Host,User,Select_priv,authentication_string from mysql.user;

11.创建数据库用户并授予允许的访问权限。

mysql>create user 'ry'@'%' identified by '123456';
创建一个用户名为'ry'的用户,所有ip都可以访问,密码为:'123456';
%:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘
mysql> grant select,insert,update,delete,create on ry.* to ry;
--用户授权数据库*代表整个数据库,将增删改查的权限授权个'ry'用户
mysql> flush privileges;
--生效以上操作
12.授权某个ip访问数据库服务
--192.168.190.*拥有root用户权限
MariaDB [mysql]> create user root@'192.168.190.*';
--将操作权限授予192.168.190.*的root用户
MariaDB [mysql]> grant all privileges on *.* to 'root'@'192.168.190.213' with grant option;
--权限刷新
mysql> flush privileges;
13.insert插入多条记录
insert into  student(name) values('zhaoyi'),('qianer'),('zhangsan'),('lisi'),('wangwu');

14.查看某个数据库下每张表的数据量大小

sql>use information_schema;
sql>select table_name,table_rows from tables  where TABLE_SCHEMA = '数据库名字'  order by table_rows desc;

15.查询mysql引擎情况

mysql> show engines;
16.msyql命令行清屏幕
mysql> system clear;
17.mysqldump命令备份DB及mysql命令还原DB
备份
# mysqldump snorby -uroot --password='your db password' > /tmp/snorby.sql
# mysqldump snorby -uroot -p > /tmp/snorby.sql
如上两种方式效果一样,但第二条更安全。
通常备份出来的文件,要比库目录实际占用的空间要大,因为多了一些创建表和insert语句。
还原到一个无密码的数据库中
# mysql snorby -uroot < /var/lib/mysql/snorby.sql
be carefull,符号是小于号,方向不要搞反了,数据被清空,可就歇菜了。

18.查看mysql数据文件存储位置

mysql> show variables like '%datadir%';
19.查看mysql数据库占用空间大小
mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='snorby'

20.查询表中的索引

mysql> show index from event;
21.导出单个数据表结构和数据
#mysqldump -h localhost -uroot -p  database table > dump.sql
22.导出整个数据库结构(不包含数据)
#mysqldump -h localhost -uroot -p123456  -d database > dump.sql
23.创建索引
对表event创建一个针对signature,timestamp列的联合索引,索引的名字为是,signature_timestamp
mysql>create index signature_timestamp on event (signature,timestamp);

【实操异常处理】

1.Ignoring query to other database
重新连接mysql 加上-u参数即可
2.优化Copying to tmp table on disk
这两个参数值可以设置成一样大小,具体设置多大根据自己服务器的内存大小进行设置,不要超过服务器内存的一半。
例子中给出的设置是2G。
mysql>set global tmp_table_size=2147483648;
mysql>set global max_heap_table_size=2147483648;
【优化前:】event表有800万数据
a4dd10c1707481418356a4ee63f2fad7cc0.jpg

【优化后】查询响应时间提升了2倍

7d2ed946333a40cf4680f835ac7da91e2c7.jpg
【但是】依然很慢,是否可以继续优化?
当然可以,那就是创建针对查询的两个字段的联合索引,效率由提升了一倍,哈哈!
不过要注意,线上生产环境数据量如果非常大的话,创建索引会是一个非常漫长的过程,会影响生产环境的正常访问。
不过使用pt-online-schema-change工具可以在线给表建索引,而不影响生产环境的正常使用,问题迎刃而解。
4e58929557029b2e86e70dff32825d87b68.jpg
【官方网址】

https://dev.mysql.com/downloads/mysql/

https://downloads.mysql.com/archives/community/

转载于:https://my.oschina.net/guiguketang/blog/1809264

你可能感兴趣的文章
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>
PHP中”单例模式“实例讲解
查看>>
VS2008查看dll导出函数
查看>>
VM EBS R12迁移,启动APTier . AutoConfig错误
查看>>
atitit.细节决定成败的适合情形与缺点
查看>>
iOS - Library 库
查看>>
MATLAB 读取DICOM格式文件
查看>>
spring事务管理(Transaction)
查看>>
django.contrib.auth登陆注销学习
查看>>
js执行本地exe文件的3种方法
查看>>
理解B树索引
查看>>
vi编辑器的命令集合
查看>>
Mysql利用binlog恢复数据
查看>>
解决 Windows启动时要求验证
查看>>
我的友情链接
查看>>
用yum安装mariadb
查看>>
一点IT"边缘化"的人的思考
查看>>
Gallery循环滑动
查看>>