MySQL可不可以设置public_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

创建用户,并只赋予表的权限创建用户并赋予权限 对应的表 权限,只能一张一张的表来 , 不支持通配符

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 访问可以了

因此 每次 要连生产的数据库的,就建一个对应的用户好了,配置合理的权限即可。

全量备份#!/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 {} \;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值