天天看点

MySQL、PG、Oracle简单命令区别

在自己虚拟环境中,模拟三个数据库的不同命令,命令为查询资料实验所用。

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';即可重用密码。