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@
%TO
root@
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; -- 更新权限表