查看数据库版本
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