MySql 常用操作命令

概述

总结的一些 MySql 操作命令

MySql 服务启动

sudo /etc/init.d/mysqld start
or
sudo service mysqld start

用户管理

创建用户

CREATE USER 'octopus'@'%' IDENTIFIED BY 'octopus';

删除用户

drop user 'octopus'@'%';

数据管理

创建数据库

drop database testdb;

CREATE DATABASE testdb DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON testdb.* TO octopus@'%';
# 查询权限用户
GRANT SELECT ON testdb.* TO octopus@'%';

FLUSH PRIVILEGES;

with grant option 作用是:对象的 owner 可以将权限赋予某个用户,普通用户不用授予此权限。

撤销授权

revoke all privileges,grant option from 'user_name'@'host';

导入导出

导出表结构

mysqldump -h192.168.1.160 --opt --set-gtid-purged=OFF -d testdb -uoctopus -p > ddl-testdb-20160912.sql

导出数据

mysqldump -t -h192.168.1.160 --set-gtid-purged=OFF testdb -uoctopus -p > data-testdb-20160912.sql

导出表结构与数据

mysqldump -uoctopus -p --default-character-set=utf8 testdb > testdb-20160912.sql
mysqldump -uoctopus -p --default-character-set=utf8 --set-gtid-purged=OFF testdb > testdb-20160912.sql
mysqldump -uoctopus -p --default-character-set=utf8 -ntd -R testdb > testdb-20160912.sql
mysqldump -uoctopus -p --default-character-set=utf8 -h192.168.1.160 -P10002 testdb > testdb-20160912.sql

其中,-ntd 是表示导出存储过程;-R 是表示导出函数;-P 指定端口号;

导入sql脚本

  • 方式一:
mysql -h192.168.1.160 -uoctopus -p testdb < testdb-20160912.sql
  • 方式二:先登录数据库,然后执行命令(这种方式将顺序执行脚本,如果数据量大,不建议使用此种方式):
mysql > source testdb-20160912.sql

其他

/etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full!
磁盘空间被占满导致无法启动服务,可使用 du -sh ./* 来查看 /var 下的文件大小详情,释放一些空间,再使用启动命令 /etc/init.d/mysql start 启动。

MySQL 启动慢查询日志

查看慢查询相关参数:

show variables like 'slow_query%';

方式一:命令设置:

set global slow_query_log='ON';
set global long_query_time=1;

方式二:配置文件设置:(配置后需重启服务)

[mysqld]
slow_query_log = ON
slow_query_log_file = /var/run/mysqld/mysqld-slow.log
long_query_time = 1

sql_mode 修改

临时修改方案:

select @@global.sql_mode;
set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

永久修改方案:
修改 /etc/my.cnf 文件中 [mysqld] 模块下添加如下配置:

sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 ethan89@aliyun.com

×

喜欢就点赞,疼爱就打赏