MySQL索引、用户

索引

CREATE INDEX idx_state ON customers (state);
-- CREATE INDEX 索引名(idx_列名) ON 表名 (列名);
EXPLAIN SELECT customer_id FROM customers WHERE state = 'CA';
-- 解释性查询

-- 查看索引
ANALYZE TABLE customers;
-- 有这句才能得到精确的Cardinality 
SHOW INDEXES IN customers;

-- 删除索引
DROP INDEX idx_state ON customers;

前缀索引

CREATE INDEX idx_lastname ON customers (last_name(20));

最佳字符数

SELECT 
    COUNT(DISTINCT LEFT(last_name, 1)),
    COUNT(DISTINCT LEFT(last_name, 5)),        -- 最佳
    COUNT(DISTINCT LEFT(last_name, 10))
FROM customers

全文索引

CREATE FULLTEXT INDEX idx_title_body ON posts (title, body);

-- 模糊搜索
SELECT *,MATCH(title, body) AGAINST('react redux')
-- 可以得到相关性
FROM posts
WHERE MATCH(title, body) AGAINST('react redux');
-- 布林模式
WHERE MATCH(title, body) AGAINST('react -redux +form' IN BOOLEAN MODE);
WHERE MATCH(title, body) AGAINST('"handling a form"' IN BOOLEAN MODE); -- 精度搜索

组合索引

CREATE INDEX idx_state_points ON customers (state, points);

原则:将最常使用的列放在前面,将Cardinality最大的列放在前面。

用户

创建用户

CREATE USER john IDENTIFIED BY '1234'
-- 无限制,可从任何位置访问 

CREATE USER john@127.0.0.1;  
-- 限制ip地址,可以是特定电脑,也可以是特定网络服务器(web server)

CREATE USER john@localhost;  
-- 限制主机名,特定电脑

CREATE USER john@'codewithmosh.com';  
-- 限制域名(注意加引号),可以是该域名内的任意电脑,但子域名则不行 

CREATE USER john@'%.codewithmosh.com'; 
-- 加上了通配符,可以是该域名及其子域名下的任意电脑

查看和删除用户

SELECT * FROM mysql.user;

DROP bob@codewithmosh.com;

修改密码

SET PASSWORD FOR john = '1234';
-- 修改john的密码

SET PASSWORD = '1234';  
-- 修改当前登录账户的密码

 在 Administration 标签页 Users and Privileges 里,点击用户 john,可修改其密码,还可以点击 Expire Password 强制其密码过期,下次用户登录必须修改密码。

权限

分配权限

GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE
ON sql_store.* 
-- *代表可访问某数据库所有表
-- 如果是 *.*,则代表所有数据库的所有表或整个服务器
TO moon_app;

 查看权限

SHOW GRANTS FOR john;
SHOW GRANTS;

收回权限

REVOKE CREATE VIEW 
ON sql_store.*
FROM moon_app;

最后,恭喜我结束课程了! 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值