数据库运维速查笔记

MySQL

连接数过多优化

SHOW PROCESSLIST;
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 添加
max_connections = 500
wait_timeout = 1000
interactive_timeout = 2000
sudo systemctl restart mysql

MySQL 8 远程连接授权

grant all privileges on *.* to 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

ibd 文件恢复(以表 jhi_user 为例)

alter table jhi_user discard tablespace;   # 脱离表空间
cp -r 老库的jhi_user.ibd 新库对应目录/
alter table jhi_user import tablespace;    # 导入

dump 导入导出

mysqldump -uroot -p 库名 > 备份.sql
mysql -u root -p
CREATE DATABASE 新库;
mysql -u root -p 新库 < 备份.sql

Oracle

扩容表空间

select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
alter database datafile '/路径/users01.dbf' RESIZE 20G;
alter database datafile '/路径/users01.dbf' AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

导入导出(imp/exp)

# 导出
exp 用户名/密码@实例 file=e:/bak/x.dmp log=e:/bak/log_name
# 导入
imp 用户名/密码@实例 file=g:/x.dmp log=g:/log_name fromuser=源用户 touser=目标用户 ignore=y

查看被锁的表与解锁

SELECT * FROM v$locked_object;
select b.owner,b.object_name,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b where b.object_id=a.object_id;
alter system kill session 'sid,serial#';

SQL Server

清除缓存

DBCC FREEPROCCACHE
DBCC FREESESSIONCACHE
DBCC FREESYSTEMCACHE('All')
DBCC DROPCLEANBUFFERS

命令行执行 SQL

sqlcmd -S 服务器 -d 数据库 -U 用户 -P 密码 -i d:\1.sql

CONVERT 日期格式常用参数

SELECT CONVERT(varchar(100), GETDATE(), 20)  -- yyyy-mm-dd hh:mi:ss
SELECT CONVERT(varchar(100), GETDATE(), 23)  -- yyyy-mm-dd
SELECT CONVERT(varchar(100), GETDATE(), 8)   -- hh:mi:ss

PostgreSQL

sudo su - postgres
psql
create database 库名;

Redis 集群节点配置

port 7000
cluster-enabled yes
cluster-config-file 7000_node.conf
cluster-node-timeout 15000
appendonly yes

以上内容整理自个人运维笔记,供快速查阅。