分类 mysql 下的文章

主配置

# 查看日志文件状态
SHOW MASTER STATUS;
# 刷新日志
flush logs;

从配置

# 停止同步线程
stop slave;  
# 设置同步参数
change master to 
master_host='123.123.123.123',
master_port=3306,
master_user='root',
master_password='root',
master_log_file='binlog.000001',
master_log_pos=1000;
# 启动同步线程
start slave;
# 显示同步状态
show slave status;
# 设置会话时间默认可为空,针对导入数据库结构
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

-- 查看所有用户

SELECT * FROM mysql.user;

-- 创建新用户

CREATE USER 'username'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'username'@'%' IDENTIFIED BY '123456';
CREATE USER 'username'@'%';

-- 设置用户密码

SET PASSWORD FOR 'username'@'localhost' = PASSWORD('123456');

-- 当前用户修改密码

SET PASSWORD = PASSWORD('123456');

-- 5.7版本修改用户密码

update mysql.user set authentication_string = password('123456') where user='root';

-- 授权用户

GRANT insert,delete,update,select ON database.* TO 'username'@'%';
GRANT ALL ON database.* TO 'username'@'%';

-- 撤销用户权限

REVOKE ALL ON database.* TO 'username'@'%';

-- 删除指定用户

DROP USER 'username'@'localhost';
DROP USER 'username'@'%';

-- 刷新用户权限

flush privileges;

-- 注意事项

若授予权利是这样写: SELECT ON *.* TO 'username'@'%';
则用 REVOKE SELECT ON database.tablename TO 'username'@'%'; 是不能撤销用户 username 对 database.tablename 中的 SELECT 权利的。
反过来 GRANT SELECT ON database.tablename TO 'username'@'%'; 授予权力
用 REVOKE SELECT ON *.* FROM 'username'@'%'; 也是不能用来撤销用户 username 对 database 库的 tablename 表的 SELECT 权利的。