首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mysql操作

一、数据库 查看数据库

代码语言:javascript
复制
show databases;

创建数据库

代码语言:javascript
复制
create database db1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;        # utf8编码
create database db1 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;    # gbk编码

使用数据库

代码语言:javascript
复制
use db1;

二、账号 创建只读帐号

代码语言:javascript
复制
GRANT SELECT ON database.* to 'only_read'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

SELECT:表示只有查询权限; database.*:表示名称为database的库下的所有表; only_read:为帐号名; %:为所有来源IP; 123456:为密码

创建所有权限帐号

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON database.* TO 'xxx'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES; 

ALL:表示所有权限; database.*:表示名称为database的库下的所有表; xxx:为帐号名; %:为所有来源IP; 123456:为密码; WITH GRANT OPTION:表示有再授权权限;

更新帐号密码

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
update user set authentication_string = password('123456') where User = 'someone';
FLUSH PRIVILEGES; 

user:表名; authentication_string:密码字段(在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string); password('123456'):将密码更新为123456(请按实际情况修改); where User = 'someone':查询条件(请事先先查询该表确认);

三、查询超时 查询超时限制,让慢查询及时结束,以免影响整个系统 mysql 5.6 及以后,有语句执行超时时间变量,用于在服务端对 select 语句进行超时时间限制; 

代码语言:javascript
复制
mysql 5.6 中,名为: max_statement_time (毫秒) 
mysql 5.7 以后,改成: max_execution_time (毫秒)
阿里云环境中:名称为:loose_max_execution_time,默认值0,配置后不需要重启(阿里云解释:statement be interrupted if the executing time exceeds this value)

超过这个时间,mysql 就终止 select 语句的执行,客户端抛异常: 1907: Query execution was interrupted, max_execution_time exceeded. 三种设置粒度: (1)全局设置 SET GLOBAL MAX_EXECUTION_TIME=1000; (2)对某个session设置 SET SESSION MAX_EXECUTION_TIME=1000; (3)对某个语句设置 SELECT max_execution_time=1000 SLEEP(10), a.* from test a;

下一篇
举报
领券