在自己虚拟环境中,模拟三个数据库的不同命令,命令为查询资料实验所用。
M:MySQL P:postgresql O:Oracle
1.查看所有数据库:
M:show databases;
P:\l
O:ps -ef |grep pmon(查看当前服务器有哪些实例)
2.切换当前数据库:
M:use database_name;
P:\c database_name
O:export ORACLE_SID=sid_name(切换实例名)
3.查看当前有哪些表
M:show tables;
P:\dt
O:select table_name,owner from dba_tables where owner='USERNAME';
4.查看表结构:
M:desc table_name;
P:\d table_name
O:desc table_name
5.创建普通用户:
M:create user await@'%' identified by '1234';
MySQL创建用户需要指定可访问的IP,%表示所有均可访问。远程连接需要MySQL服务器对远程连接的用户开启对应权限。validate_password.length是密码长度,validate_password.policy是密码策略,
P:create role role_name login;(需要赋予登录权限login)
create user username with password 'password' valid until '2022-04-30';(创建带有过期时间的用户)
O:create user username identified by "password" temporary tablespace temp default tablespace users profile default;
6.查看当前用户权限。
M:show grants;(当前用户),show grants for username@'%' ;(查看用户权限)
P:select * from information_schema.table_privileges where grantee='await_test';
O:select * from dba_sys_privs where grantee='grantee_name';
select * from dba_role_privs where grantee='grantee_name';(查看拥有的角色)
select * from dba_tab_privs where grantee='grantee_name';(查看单独授予的权限)
7.创建角色并授予角色权限
M:create role await_test;grant select on sys.* to await_test;可将角色对应权限授予相应的用户,这样用户就有了对应的权限。
P:create role await_test;GRANT select ON all tables in schema public to await_test;(授予只读权限)
O:create role role_name;grant dba to role_name;(将dba权限授予role)
8.查看用户密码过期时间:
M:select,user,host,password_expired,password_last_changed,password_lifetime from mysql.user;
(password_expired的值是Y表示密码过期,password_last_changed表示密码修改时间,password_lifetime表示密码有效期)
P:select * from pg_user;(valuntil时间即为过期时间)
O:select name,exptime,ptime from user$ where name='username';(ptime是密码修改时间,exptime是过期时间)
9.设置用户密码永不过期(修改用户密码过期时间):
M:alter user username@'%' password expire never;
P:alter user username valid until '2022-05-30';alter user tes valid until 'infinity';(infinity表示永不过期)
O:修改用户所在的profile中的参数PASSWORD_LIFE_TIME,unlimited表示无过期。
10.普通用户登录:
M:mysql -u(username) -p(password) -h(服务器IP) -P port
P:psql -U uname(用户名) -W dbname(数据库名)
O: sqlplus user/passwd@orcl
sqlplus user/[email protected]:1521/orcl
11.查看当前数据库下有哪些用户:
M:select user,host,password_expired from mysql.user;
P:\du
O:select username,account_status from dba_users;
12.修改用户密码&继续使用原密码:
M:alter user username@'%' identified by 'password';
若无开启密码重用策略,则可继续使用原密码,已开启密码重用策略则需调整mysql.password_history(密码重用次数)mysql.password_reuse_interval(密码重用时间限制)
P:alter user username with password 'password';(pg_hba.conf里的local设置为trust,则修改密码后无法本地验证,密码到期后延长到期时间即可重用密码)
O:alter user username identified by "password";(重置密码)
密码重用:select name,spare4 from user$;alter user username identified by values 'password/spare4';即可重用密码。