mysql 常用命令和配置

my.cnf 常用配置

[mysqld] lower_case_table_names = 1 datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock symbolic-links= 0 log-error= /var/log/mysqld.log pid-file= /var/run/mysqld/mysqld.pid user = mysql port = 3306 server-id = 1 # 忘记root 密码,可以使用 #skip-grant-tables # 最大连接数 max_connections = 512 #默认使用InnoDB存储引擎 default_storage_engine = InnoDB # 推荐为物理内存 80% innodb_buffer_pool_size = 13000M # 设置 log 文件大小 1G 常规 innodb_log_file_size = 1024M # ON 为开启慢查询日志,off表示关闭慢查询日志,用于优化SQL语句 slow_query_log = ON #指定慢查询日志文件 slow_query_log_file = /var/log/3306/itpuxdb-query.err # 指定多少秒返回查询的结果为慢查询 long_query_time = 5 # sql 默认,解决 group by 问题 sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

解决低版本 Navicat 访问mysql8 密码问题

参考 https://blog.csdn.net/yuepeng_csdn/article/details/102503908
如果Navicat 用不了, 那就修改加密规则
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;

mysql 启动和重启

mysq :启动服务:systemctl start mysqld.service 重启 systemctl restart mysqld.service

MySQL 8.0 Public Key Retrieval is not allowed

连接加上 allowPublicKeyRetrieval=true 参考 https://blog.csdn.net/u013360850/article/details/80373604

创建用户,并只赋予表的权限

创建用户并赋予权限 对应的表 权限,只能一张一张的表来 , 不支持通配符 IDENTIFIED WITH mysql_native_password BY 可以让低版本的Navicat可以连接mysql create user 'sso' IDENTIFIED WITH mysql_native_password BY 'ssss'; GRANT ALL PRIVILEGES ON auth_controller.sso_framework TO 'sso'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON auth_controller.sso_user_role TO 'sso'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON auth_controller.sso_auth_info TO 'sso'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON auth_controller.sso_user_framework TO 'sso'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON auth_controller.sso_application_user TO 'sso'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON auth_controller.sso_application_role TO 'sso'@'%' WITH GRANT OPTION; flush privileges;

创建只读用户,并赋予任何IP可以访问

create user 'reader' IDENTIFIED WITH mysql_native_password BY 'rea@Drrr'; GRANT SELECT ON *.* TO 'reader'@'%' WITH GRANT OPTION; flush privileges;

生产环境 配置创建用户原则

不要使用 root 用户, 因为不够安全。就让 root 默认 只可以localhost 访问可以了
因此 每次 要连生产的数据库的,就建一个对应的用户好了,配置合理的权限即可。

全量备份

参考 https://www.cnblogs.com/guoweilf/p/12053173.html
参考 https://blog.csdn.net/csdnhsh/article/details/94228436

#!/bin/bash # 全量备份 [ ! -e /backup ]&& mkdir /backup day=`date +%F` user=root pass=YONGhong@258 #innobackupex --user=$user --password=$pass /backup/allbak${day} --no-timestamp -S /tmp/mysql.sock #适用于2.4版本 xtrabackup --defaults-file=/etc/my.cnf --host=localhost --user=$user --password=$pass --backup --target-dir=/backup/allbak${day} #适用于8.0版本 mysql -u$user -p$pass -e "flush logs" # 删除前30天的备份 find /backup/ -mtime +30 -name "allbak*" -exec rm -rf {} \;
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )