2018年3月14日星期三

MySQL备忘单

因此,我首先发布了,觉得我应该是。 我一直非常忙于使用MySQL和所有相关的分支,并且没有按照我的感觉推出博客。 所以我会努力。 

现在,据说我前几天回忆起一个我曾爱过的网站,因为这是一个常见的VI作弊表单。 你知道的语法,你知道你需要它,但键入它3次,直到它正确。 当它进入正确的时候,你会看到它傻眼,我想我已经写过了。 

所以我想知道为什么不是一个简单的常见MySQL命令列表,我们每个人都要么每个月键入50次,要么应该知道我们的手背,但忘记了当客户端看着我们的肩膀。 
对于初学者.. 
我们建立了一个新的MySQL 5.7.6+服务器并登录.. 
在我们可以做任何事情之前需要更改密码。 但它是Alter用户未设置通过。 
我们想知道如何以明文形式阅读密码。 

改变用户 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; 
设置密码是 
SET PASSWORD FOR 'bob''@'localhost' = PASSWORD('cleartext password'); 

清除二进制日志 
PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2008-04-02 00:00:00
PURGE BINARY LOGS BEFORE NOW() - interval 3 DAY;

MySQL转储 
# COMPACT WILL REMOVE DROP STATEMENTS
mysqldump --events --master-data=2 --routines --triggers --compact --all-databases > db.sql
mysqldump --events --master-data=2 --routines --triggers --all-databases > NAME.sql
mysqldump --opt --routines --triggers dbname > dbname.sql
mysqldump --opt --routines --triggers --no-create-info joomla jforms > dataonly.sql 

关闭外键一会儿 
SET GLOBAL foreign_key_checks=0; 



跳过授予 
/usr/bin/mysqld_safe --defaults-file=/etc/mysql/my.cnf --skip-grant-tables
vi /etc/mysql/my.cnf
[mysqld]
skip-grant-tables


BinLog评论 
--base64-output = DECODE-ROWS&--verbose 
mysqlbinlog --defaults-file=/home/anothermysqldba/.my.cnf --base64-output=DECODE-ROWS --verbose binlog.005862 > 005862.sql

MYSQL SECURE客户端 
mysql_config_editor print --all
mysql_config_editor set --user=mysql --password --login-path=localhost --host=localhost
mysql --login-path=localhost -e 'SELECT NOW()';

交换 
sudo swapoff -a
To set the new value to 10: echo 10 | sudo tee /proc/sys/vm/swappiness
sudo swapon -a 

如果信息模式缓慢 
set global innodb_stats_on_metadata=0; 

AWS变量 
CALL mysql.rds_show_configuration;
> call mysql.rds_set_configuration('binlog retention hours', 24);
> call mysql.rds_set_configuration('slow_launch_time', 2);

查找列名称所在的表 
SELECT TABLE_SCHEMA , TABLE_NAME , COLUMN_NAME FROM information_schema.COLUMNS WHERE COLUMN_NAME = 'fieldname' ; 
客户说它在TableA中,但他们有50个数据库。什么模式有TableA 
SELECT TABLE_SCHEMA , TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME = 'TableA' ; 

调整奴隶工 
Select @@slave_parallel_workers;
Stop Slave; Set GLOBAL slave_parallel_workers=5; Start Slave;

MySQL多 
5.6>
To start both : mysqld_multi start 1,2
To check on status of both: mysqld_multi report 1,2
To check on status or other options you can use just one

5.7<
[mysqld1] BECOMES [mysqld@mysqld1]
systemctl start mysqld@mysqld1
systemctl start mysqld@mysqld2
systemctl start mysqld@mysqld3
systemctl start mysqld@mysqld4 
仅限MySQL升级系统表 
mysql_upgrade --defaults-file=/home/ anothermysqldba /.my.cnf --upgrade-system-tables 

SKIP REPLICATION ERROR 
STOP SLAVE; SET GLOBAL sql_slave_skip_counter =1; START SLAVE; SELECT SLEEP(1); SHOW SLAVE STATUS\G