mysql 命令总结

查看数据库版本

mysql -V

查看数据库引擎

show engines;

查看数据库server_id

show variables like "server_id";

查看数据库log-bin

show variables like "log_bin";

查看数据库正在执行的完整SQL语句

show full processlist;

查看数据库当前的会话状态信息

show session status;

将MySQL设置为只读状态的命令:

mysql -uroot -p

mysql> show global variables like "%read_only%";
mysql> flush tables with read lock;
mysql> set global read_only=1;
mysql> show global variables like "%read_only%";

临时跳过一个事务

set global sql_slave_skip_counter=2;

将MySQL从只读设置为读写状态的命令:

mysql> unlock tables;
mysql> set global read_only=0;

忘记密码登陆

vim /etc/my.cnf
[mysqld] 加上这一句
skip-grant-tables

开启主从复制IO、SQL线程

START SLAVE IO_THREAD
STOP SLAVE IO_THREAD

START SLAVE SQL_THREAD
STOP SLAVE IO_THREAD

自动、手动清理日志

vim /etc/my.cnf
expire_logs_days=7 保留7天

set global expire_logs_days=7 动态修改

从库自动清理中继日志(relay_log),默认值为1(启用)

relay_log_purge = 1

set global relay_log_purge=1 #动态修改

修改密码

update user set password=Password('123456') where User='root';
flush privileges;

主服务器锁定表

flush tables with read lock;

解锁

unlock tables;

查看异步I/O 是否能工作正常

cat /proc/slabinfo |grep kio

查看库里面的表

mysql> show tables from bsppr;

查看建表对应的SQL语句

mysql> show create table xpost_arch\G;

查看表结构

mysql> desc xpost_archbak;

查看表和字段的详细信息

mysql> show full columns from xpost_arch;

更改表名(2种)

mysql> rename table student to test;
mysql> alter table test rename to student;

查看用户

mysql> select user,host from mysql.user;
+------------+---------------+
| user | host |
+------------+---------------+
| mx_cyberin | 192.168.241.% |
| mx_test | 192.168.241.% |
| oopin | 192.168.241.% |
| mx_cyberin | localhost |
| mx_test | localhost |
| nagios | localhost |
| oopin | localhost |
| root | localhost |
+------------+---------------+
8 rows in set (0.05 sec)

mysql>

删除用户

mysql> drop user oopin@'192.168.241.%';

查看表索引

show index form xpost_arch\G;

给用户授权

grant all on . to 'root'@'192.168.241.%' identified by '%~ISkJHGAd%ZDdp';

grant all on . to 'dm_learn'@'192.168.241.%' identified by '123456';
grant all on . to 'dm_learn'@'localhost' identified by '123456';

查看用户权限

mysql> show grants for 'root'@'192.168.241.%';

收回权限

revoke insert on root.* from 'root'@'192.168.241.%';

==================================================================
表维护语句

对于每个表,获得一个效验和。有时传输的时候,由于错误某些数据会丢失或改变,为了检验这样一个问题,可以在 传输前和传输后计算校验和。

当数据传输完后,通过一个检验来告诉我们两个校验和是否相同。

确定表的校验和的值
checksum table 表;

对于表来说,不断insert delete 和update 语句更新一个表,表的内部结构会变成片段,这回降低表的sql语句速度。用optimize 来组织一下表的数据。

优化表
optimize table 表;

询问数据状态,可以使用check table 语句来查看是否一切正确

check table 表;

如果一个表或索引毁掉可以使用repair table 语句尝试修正,如果不起作用,可以使用myisamchk 工具

repair table 语句只对使用 myisam和archive 存储引擎的表有效

表坏了对表进行修正
repair table 表;

===========================================

mysqlcheck

-c,--check (检查表)
-r,--repair (修复表)
-a, --analyze (分析表)
-o, --optimize (优化表)

mysql.sock 丢失后如何连接数据库

--protocol=TCP|socket|pipe|memory

TCP 连接
mysql --protocol=TCP -uroot -p -P33306 -hlocalhost

======================================================================
加外键
pt-online-schema-change --user=oopin --password=OOpin2007Group --host=192.168.241.6 --alter='ADD UNIQUE KEY idx_key (author_id)' D=weibo,t=random_invalid_bak --exec

pt-online-schema-change --user=oopin --password=OOpin2007Group --host=192.168.241.48 --alter='ADD post_time datetime DEFAULT NULL ' D=weibo,t=praise_relation --dry-run
pt-online-schema-change --user=oopin --password=OOpin2007Group --host=192.168.241.48 --alter='ADD post_time datetime DEFAULT NULL' D=weibo,t=praise_relation --exec

pt-online-schema-change --user=oopin --password=OOpin2007Group --host=192.168.241.48 --alter='drop post_time ' D=weibo,t=praise_relation --exec
pt-online-schema-change --user=root --password=%~ISkJHGAd%ZDdp --host=192.168.241.48 --alter='ADD post_time datetime DEFAULT NULL' D=weibo,t=praise_relation --exec

posted @ 2018-02-09 14:37  clown_x  阅读(111)  评论(0编辑  收藏  举报