MySQL Cloud Service体验小结
今天体验了下MySQL Cloud的一些服务,除了网络卡顿延迟比较大之外,其他的体验还可以,简单来说下这个过程。
如果登录到Oracle Cloud的官网,对于MySQL的服务是没有放入到Database这一栏,而是单独放了一个目录MySQL,如果不知道这个目录结构,可能阿刚开始的时候会有些突兀。之前已经在线创建了一个实例,通过界面可以看到整体的配置信息如下,值得一提的是MySQL的版本是5.7.21,目前开放的还不是8.0
如果这个时候简单问你一下,我们现在有了RDS服务,那么我们使用Oracle Cloud能不能给出一个理由来,在我看来,其中一个理由是MySQL的服务是标准的企业版本,插件是完全融合进来的。

Oracle云的特点比较鲜明,如果你使用过AWS或者是阿里云等,你会发现风格不大一样,Oracle云的特点是把IaaS和Paas糅合的概念,即你申请了一个实例,通过图形界面可以管理(类似于RDS),而且可以通过命令行的界面登录到服务端操作(类似于ECS),这个体验在其他云那里是没有的,从管理性上来说,开放的入口更加丰富,性价比介于RDS和ECS之间吧。
通过命令行登录进来,提示的信息如下:

使用ps -ef的命令来查看,可以看到整个服务端的进程,默认是开启了3306的端口。
[opc@mysqltest-mysql-1 ~]$ ps -ef|grep mysql
oracle 3198 1 0 May31 ? 00:00:00 /bin/sh ./bin/mysqld_safe
oracle 4444 3198 2 May31 ? 07:57:35 /u01/bin/mysql/bin/mysqld --basedir=/u01/bin/mysql --datadir=/u01/data/mysql --plugin-dir=/u01/bin/mysql/lib/plugin --log-error=mysqltest-mysql-1.err --open-files-limit=20000 --pid-file=mysqltest-mysql-1.pid --socket=/u01/bin/mysql/mysql.sock --port=3306
opc 25798 25545 0 14:20 pts/0 00:00:00 grep mysql
当然我是使用opc的账户登录的,要连接到MySQL实例需要统一使用oracle用户, 这个确实有些不习惯。
切换一下即可。
[opc@mysqltest-mysql-1 ~]$ mysql
Please switch to "oracle" user to use mysql client
连接到MySQL实例之后,会看到登录后的信息明显不同。

有的同学可能要问企业版比社区版多哪些插件,比如下面的这些,连接池,审计日志等等。

我们来看看MySQL部署的目录结构:
[oracle@mysqltest-mysql-1 ~]$ which mysql
/u01/bin/mysql/bin/mysql
它的这个目录结构典型沿袭了Oracle的风格,标准的/u01目录
查看MySQL的目录,数据文件是在这个目录下的。
mysql> show variables like 'datadir%';
+---------------+------------------+
| Variable_name | Value |
+---------------+------------------+
| datadir | /u01/data/mysql/ |
+---------------+------------------+
1 row in set (0.01 sec)
默认的my.cnf文件是不在/etc下面的。
[oracle@mysqltest-mysql-1 mysql]$ ll /etc/my.cnf
ls: cannot access /etc/my.cnf: No such file or directory
如果查看MySQL的buffer_pool大小,在这里是5G左右,占到了内存的60%以上。

这个目录结构比较特别,如果你看数据文件的结构,你会看到审计日志已经开始工作了,已有的审计日志有近2G左右。

在这里,可以看到MySQL默认启用了undo tablespace的特性,指定了4个undo表空间。

如果查看线程情况,会发现里面存在大量的线程指向了数据库mem.

很可能我们会对里面的mem字样的数据库感到陌生,如果没猜错这是Enterprise Monitoring的内容,可以看到组件的内容涵盖的面是很广了。

这里需要重点提一下,那就是对于复制的配置,默认是过滤了mem字样的数据库的。

这个死锁检测的特性很重要,默认也是打开了。

还有redo日志,这里的风格比较特别,默认是2组,MySQL Cloud里面是6组。

而且每组的文件大小是1G.

这些都是在简单体验MySQL Cloud之后的一些简单的总结,后续会逐步带来更多的体验小结。