1、MySQL常用命令

mysql> create database name default charset=utf8; //创建数据库
mysql> drop database name; //直接删除数据库,不提醒
mysql> describe tablename; //表结构查看
mysql> select 中加上distinct; //去除重复字段
shell> mysqladmin drop databasename; //删除数据库前,有提示。
mysql> select version(),current_date; //显示当前mysql版本和当前日期

2、修改mysql中root的密码:

mysql> update user set password=password("123456") where user='root';
mysql> flush privileges; //刷新数据库
mysql> describe user; //显示表mysql数据库中user表的列信息;

3、grant

mysql> grant all privileges on *.* to user@localhost identified by 'something' with GRANT OPTION; //添加用户并授权
mysql> revoke all privileges on *.* from root@"%"; //删除授权
mysql> delete from user where user="root" and host="%"; //删除root远程登录权限
mysql> alter table t1 rename t2; //重命名表

4、mysqldump

shell> mysqldump -h host -u root -p dbname >dbname_backup.sql; //备份数据库
shell> mysqladmin -h myhost -u root -p create dbname; //创建新数据库
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql; //恢复数据库
shell> mysqladmin -u root -p -d databasename > a.sql; //只导出出建表指令,不插数据
shell> mysqladmin -u root -p -t databasename > a.sql; //只导出插数据的sql,不建表
#将当前服务器的binlog的位置和文件名追加到输出文件中(show master status)。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE  MASTER命令前添加注释信息。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间;其他内容参考下面的--single-transaction选项)。该选项自动关闭--lock-tables选项。
mysqldump  -uroot -p --host=localhost --all-databases --master-data=1;
mysqldump  -uroot -p --host=localhost --all-databases --master-data=2;

5、slave

stop slave;
change master to master_host='${master_host}',
master_user='${master_user}',
master_password='${master_password}',
master_port='${master_port}',
master_log_file='${master_log_file}',
master_log_pos='${master_log_pos}';
start slave;
show slave status\G;

6、slave挂掉重新开始
slave有时候被崩溃挂掉,这时候可能需要reset slave,然后重新change master,这时候需要设置bin和pos,可以通过show slave status拿到:

Relay_Master_Log_File: mysql-bin.000614
Exec_Master_Log_Pos: 20113719