mysql创建读写账号及服务相关优化配置

创建只读数据库账号,并指定数据库即密码

grant select on xoms_prod.* to 'kzcf'@'%' identified by '123456';

赋权

多权限就 grant select,update,delete on xoms.....

刷新权限表

flush privileges;

查看账户下所属权限

show grants for kzcf;kzcf就是用户名

那个%号表示所有机器都能访问

在navicat-SQL执行界面,执行下面这条SQL语句创建一个不限制数据库和链接来源的只读账号

GRANT Select ON *.* TO reader@"%" IDENTIFIED BY "password"

创建数据库服务账号权限

-- GRANT all PRIVILEGES ON *.* TO 'ttx_admin'@'%' identified by '4LJChC0CqPVeuCs4' WITH GRANT OPTION;

创建数据库账号的读 改 删

-- GRANT select,update,delete ON xwms.* TO 'ttx_data'@'%' identified by 'lSfFfq1JTKcV18y8' WITH GRANT OPTION;

创建数据库账号的只读
-- GRANT select ON wms.* TO 'cus_read'@'%' identified by 'AofccLhu4M5QQZ01' WITH GRANT OPTION;
创建wms数据库的所有权限
-- GRANT all PRIVILEGES ON wms.* TO 'cus_admin'@'%' identified by 'dkwh1EfOpmkARdnM' WITH GRANT OPTION;

更改root账号,访问限制,限制只允许192.168.1.* 网段的ip访问

RENAME USER root@%TOroot@192.168.1.%;

刷新权限功能表,让权限生效

FLUSH PRIVILEGES;

在SQL界面执行以下语句,可以查看慢SQL日志
SELECT convert(sql_text using utf8 ) FROM mysql.slow_log WHERE thread_id =3566974 LIMIT 100;

在SQL界面执行以下语句,可以临时开启慢SQL日志,重启服务失效

set global slow_query_log='ON';
set global slow_query_log_file='/tmp/slow.log';
set global long_query_time=2;

如果需要持久生效,需要放到mysql配置文件的[mysqld]文件下

slow_query_log =1
slow_query_log_file=/tmp/mysql_slow.log
long_query_time = 2

lower_case_table_names=1 不区分大小写

group_concat_max_len = 4294967295 最大group_contx 函数

max_connections = 5000 最大连接数

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 模糊group by

innodb_buffer_pool_size =60g 内存大小为当前服务器的一半

mysql linux 冷备份数据库脚本

mysqldump -uroot -ptingto --databases xwms > /home/ttx/bin/sqldumps/xwms-date +"%Y%m%d_%H%M%S".sql

创建管理员账号,并赋予权限

CREATE USER `ocs_admin`@`%`; -- 创建新用户
SET PASSWORD FOR `ocs_admin`@`%` = PASSWORD('ocs_admin'); -- 设置密码(根据需要修改)
GRANT all PRIVILEGES ON ocs_cloud.* TO `ocs_admin`@`%`; -- 授予所有权限给指定数据库
GRANT SELECT ON test_binlog.* TO `ocs_admin`@`%`; -- 授予SELECT权限给指定数据库
FLUSH PRIVILEGES; -- 更新权限表
posted @ 2018-11-26 15:37  darling331  阅读(235)  评论(0编辑  收藏  举报