在闲逛mysql时发现mysql库的user表下有两个账户比较特别:mysql.session 和 mysql.sys查一下 user 表里面都有哪些账户:mysql.sys@localhost:用于 sys schema 中对象的定义。使用 mysql.sys 用户可避免 DBA 重命名或者删除 root 用户时发生的问题。
该用户已被锁定,客户端无法连接。mysql.session@localhost:插件内部使用来访问服务器。该用户已被锁定,客户端无法连接。 root@localhost:这个就是 root
账号啦!其用于管理。该用户拥有所有权限,可执行任何 *** 作。严格来说,这个账号不应该被保留。 root 是 MySQ L的特权账号,这个众所周知,也带来安全隐患。建议将root账号禁用或者删除,新建一个特权账号用于管理。 在MySQL 5.6以前,我们通过 show processlist\G 命令查看系统中正在运行的所有进程: 从5.7开始,我们又可以通过 sys.session 表来查看系统正在运行的所有进程,而且该表中的记录相 processlist 比较完善: 很显然, select * from sys.session 能得到更多的信息。MySQL 5.7 新增默认账号 mysql.session和mysql.syshttps://www.jianshu.com/p/427cac0d8763Privileges Supported by MySQLhttps://dev.mysql.com/doc/refman/5.7/en/grant.htmlMySQL 5.7 Reference Manual/Reserved Accountshttps://dev.mysql.com/doc/refman/5.7/en/reserved-users.htmlWhat are mysql.session@localhost and mysql.sys@localhost user accounts good for?https://stackoverflow.com/questions/46149220/what-are-mysql-sessionlocalhost-and-mysql-syslocalhost-user-accounts-good-forOne part of the MySQL installation process is data directory initialization (see Section 2.10.1, “Initializing the Data Directory” ). During data directory initialization, MySQL creates user accounts that should be considered reserved:'root'@'localhost : Used for administrative purposes. This account has all privileges and can perform any operation. Strictly speaking, this account name is not reserved, in the sense that some installations rename the root account to something else to avoid exposing a highly privileged account with a well-known name.'mysql.sys'@'localhost' : Used as the DEFINER for sys schema objects. Use of the mysql.sys account avoids problems that occur if a DBA renames or removes the root account. This account is locked so that it cannot be used for client connections.'mysql.session'@'localhost' : Used internally by plugins to access the server. This account is locked so that it cannot be used for client connections.用于sys schema中对象的定义。使用mysql.sys用户可避免DBA重命名或者删除root用户时发生的问题。该用户已被锁定,客户端无法连接。插件内部使用来访问服务器。该用户已被锁定,客户端无法连接。root账号,其用于管理。该用户拥有所有权限,可执行任何 *** 作。 root是MySQL的特权账号,这个众所周知,也带来安全隐患,建议将root账号禁用或者删除,新建一个特权账号用于管理。select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files
select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile--sys用户查看
2、缩小临时表空间大小
alter database tempfile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TELEMT\TEMP01.DBF' resize 100M
3、扩展临时表空间:
方法一、增大临时文件大小:
SQL>alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize 100m
方法二、将临时数据文件设为自动扩展:
SQL>alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited
方法三、向临时表空间中添加数据文件:
SQL>alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ size 100m
4、创建临时表空间:
SQL>create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/orcl/temp11.dbf’ size 10M
5、更改系统的默认临时表空间:
--查询默认临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'
--修改默认临时表空间
alter database default temporary tablespace temp1
所有用户的默认临时表空间都将切换为新的临时表空间:
select username,temporary_tablespace,default_ from dba_users
--更改某一用户的临时表空间:
alter user scott temporary tablespace temp
6、删除临时表空间
删除临时表空间的一个数据文件:
SQL>alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ drop
删除临时表空间(彻底删除):
SQL>drop tablespace temp1 including contents and datafiles cascade constraints
7、查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)
GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小
dba_temp_files视图的bytes字段记录的是临时表空间的总大小
SELECT temp_used.tablespace_name,
total - used as "Free",
total as "Total",
round(nvl(total - used, 0) * 100 / total, 3) "Free percent"
FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used
FROM GV_$TEMP_SPACE_HEADER
GROUP BY tablespace_name) temp_used,
(SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total
FROM dba_temp_files
GROUP BY tablespace_name) temp_total
WHERE temp_used.tablespace_name = temp_total.tablespace_name
ORDER BY B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, B.BLOCKS
希望能帮到您!
评论列表(0条)