成为互联网公司mysql DBA需要掌握哪些技能

成为互联网公司mysql DBA需要掌握哪些技能,第1张

高级 *** 作

1.Mysql 主从同步配置

2.Mysql 双master 配置

3.Mysql 双master+丛库+keepalived 配置高可用数据库

客户端

作为DBA,一定不要用各种GUI工具,mysql自带命令行client才是你的最佳武器

可选项

1.mysql 分区配置,因为限制太多,实际中分表都是程序做

2.高性能 mysql

a).drizzle

b).MariaDB

c).handlersocket

基本知识

1.mysql的编译安装

2.mysql 第3方存储引擎安装配置方法

3.mysql 主流存储引擎(MyISAM/innodb/MEMORY)的特点

4.字符串编码知识

5.MySQL用户账户管理

6.数据备份/数据入导出

7.mysql 支持的基本数据类型

8.库/表/字段/索引 的创建/修改/删除

9.基本sql 语法:select/insert/update/delete,掌握最基本的语法即可,什么inner join,left join的了解就行 mysql的应用场景大多都是高并发访问/业务逻辑简单,join/子查询/视图/触发器 基本上不用

因为市场上有许多的SQL管理工具,所以要为SQL项目管理选择工具是一件有挑战性的事。为大家推荐23款SQL工具的精选列表,希望朋友们喜欢。其中几款已经在昨天的SQL查询优化工具一文中,做过推荐。

Aqua Data Studio是一个功能丰富的通用SQL集成开发环境(IDE),它使数据库开发人员,DBA和数据/业务分析人员能够从单个界面开发,管理和分析30多个平台的数据。

特征

dbForge Studio for SQL Server是一个功能强大的IDE,用于SQL Server管理,管理,开发,数据报告,分析等等。执行复杂数据库任务的SQL开发人员和DBA可以使用GUI工具来加速几乎所有数据库体验,例如设计数据库,编写SQL代码,比较数据库,同步模式和数据,生成有意义的测试数据等等。

特征:

dbWatch是一个完整的数据库监控和管理解决方案,适用于SQL Server,Oracle,PostgreSQL,Sybase,MySQL和Azure。专为在大型内部部署,混合或云数据库环境中进行主动管理和日常维护自动化而设计。

特征:

Jet Profiler for MySQL是MySQL数据库服务器的实时查询性能和诊断工具。该工具自2009年开发,非常稳定。

特征:

Adminer是一个用于管理数据库,表,关系,索引和用户的SQL管理工具。它支持所有流行的数据库管理系统,如MySQL,PostgreSQL,SQLite,MS SQL,Oracle和MongoDB。

特征:

它是一种用于分析微软SQL Server数据库结构差异的SQL管理工具。它允许比较数据库对象,如表,列,索引,外键,模式等。

特征:

EMS SQL Manager允许用户创建和编辑SQL Server数据库对象,并创建,修改,执行和保存SQL查询。

特征:

它是一个基于JAVA的数据库管理工具。这种符合JDBC的SQL管理工具允许用户查看数据库结构并发出SQL命令。它还支持Firebird,微软Access,微软SQL Server,MySQL,Oracle,Sybase等数据库。

特征:

SQLite Database Browser是一个开源SQL工具,允许用户创建,设计和编辑SQLite数据库文件。它允许用户显示由它们和应用本身发出的所有SQL命令的日志。

特征:

DBeaver是一个面向开发人员和数据库管理员的开源数据库工具。它支持JDBC兼容的数据库,如MySQL,Oracle,IBM DB2,SQL Server,Firebird,SQLite和Sybase。

特征:

DbVisualizer Free是一个SQL管理工具。它允许用户管理各种数据库,包括Oracle,Sybase,SQL Server,MySQL,Informix,H3和SQLite。

特征:

HeidiSQL是另一种可靠的SQL管理工具。它使用流行的MySQL服务器,微软SQL数据库和PostgreSQL设计。它允许用户浏览和编辑数据,创建和编辑表,视图,触发器和预定事件。

特征:

FlySpeed SQL Query是所有数据库用户和开发人员的数据处理工具。它允许用户在不熟悉SQL语法的情况下在不同的数据库服务器上构建查询。

特征:

SQL Diagnostic Manager是Idera开发的性能监控工具。它提供诊断解决方案,帮助用户评估其SQL Server中的运行状况和性能。

特征

ManageEngine开发的免费SQL性能监控工具。它允许用户密切关注SQL Server性能!此工具还可以帮助用户监控SQL Server的性能和可用性。它可以与MS SQL 2012和2014等所有MS SQL版本一起使用。

特征:

ApexSQL Monitor是一个基于Web的SQL管理应用程序。它为监控多个SQL Server实例提供支持。

特征:

适用于微软SQL Server的AppDynamics数据库管理产品的一种全面SQL工具。它用于监控SQL Server的2000,2005,2008,2012和2014版本。

特征:

Toad是另一个SQL Server DBMS工具。它通过广泛的自动化,直观的工作流程和内置的专业知识最大化了生产力。此SQL管理工具可解决问题,管理更改并提升最高级别的代码质量。

特征:

Zenoss提供ZenPacks来管理微软SQL Server,MySQL,Oracle数据库和PostgreSQL。每个ZenPack都具有每个平台的特定功能,并提供可用的API来确定应监控的内容。

特征:

Lepide的SQL Server Storage Manager是一个用于分析SQL Server性能的开源实用程序。它提供了对存储空间和性能的完全可视性。

特征:

SQL Server Management Studio Express是一个用于访问,管理和开发SQL所有组件的开源工具。此工具支持SQL Server的大多数管理任务。

特征:

SolarWinds Database Performance Analyzer是用于数据库管理的性能监视和分析工具。它还找出了瓶颈的原因并降低了数据库 *** 作的总体成本。

特征:

Sequel Pro是一款快速,易用的数据库管理工具,适用于MySQL。此SQL管理工具有助于与数据库进行交互。使用此软件添加新数据库,添加新表,添加新行和任何其他类型的数据库也很容易。

特征:

grant 权限 on 数据库对象 to 用户

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@’%’

grant insert on testdb.* to common_user@’%’

grant update on testdb.* to common_user@’%’

grant delete on testdb.* to common_user@'%'

或者

grant select, insert, update, delete on testdb.* to common_user@’%’

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to developer@’192.168.0.%’

grant alter on testdb.* to developer@’192.168.0.%’

grant drop on testdb.* to developer@’192.168.0.%’

grant *** 作 MySQL 外键权限。

grant references on testdb.* to developer@’192.168.0.%’

grant *** 作 MySQL 临时表权限。

grant create temporary tables on testdb.* to developer@’192.168.0.%’

grant *** 作 MySQL 索引权限。

grant index on testdb.* to developer@’192.168.0.%’

grant *** 作 MySQL 视图、查看视图源代码 权限。

grant create view on testdb.* to developer@’192.168.0.%’

grant show view on testdb.* to developer@’192.168.0.%’

grant *** 作 MySQL 存储过程、函数 权限。

grant create routine on testdb.* to developer@’192.168.0.%’— now, can show procedure status

grant alter routine on testdb.* to developer@’192.168.0.%’— now, you can drop a procedure

grant execute on testdb.* to developer@’192.168.0.%’

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。

grant all privileges on testdb to dba@’localhost’

其中,关键字 “privileges” 可以省略。

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。

grant all on *.* to dba@’localhost’

五、MySQL grant 权限,分别可以作用在多个层次上。

1. grant 作用在整个 MySQL 服务器上:

grant select on *.* to dba@localhost— dba 可以查询 MySQL 中所有数据库中的表。

grant all on *.* to dba@localhost— dba 可以管理 MySQL 中的所有数据库

2. grant 作用在单个数据库上:

grant select on testdb.* to dba@localhost— dba 可以查询 testdb 中的表。

3. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to dba@localhost

这里在给一个用户授权多张表时,可以多次执行以上语句。例如:

grant select(user_id,username) on smp.users to mo_user@’%’ identified by ‘123345′

grant select on smp.mo_sms to mo_user@’%’ identified by ‘123345′

4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to dba@localhost

5. grant 作用在存储过程、函数上:

grant execute on procedure testdb.pr_add to ‘dba’@'localhost’

grant execute on function testdb.fn_add to ‘dba’@'localhost’

六、查看 MySQL 用户权限

查看当前用户(自己)权限:

show grants

查看其他 MySQL 用户权限:

show grants for zhangkh@localhost

七、撤销已经赋予给 MySQL 用户权限的权限。

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

grant all on *.* to dba@localhost

revoke all on *.* from dba@localhost

八、MySQL grant、revoke 用户权限注意事项

1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“

grant select on testdb.* to dba@localhost with grant option

这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

mysql授权表共有5个表:user、db、host、tables_priv和columns_priv。

授权表的内容有如下用途:

user表

user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。

db表

db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。

host表

host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。

tables_priv表

tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。

columns_priv表

columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。

注:

对于GRANT USAGE ON,查看手册有如下介绍和实例:

mysql>GRANT USAGE ON *.* TO ‘zhangkh’@'localhost’

一个账户有用户名zhangkh,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为’N'。假定你将在以后将具体权限授予该账户。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7470852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存