Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MariaDB server example #35

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sahason
Copy link
Contributor

@sahason sahason commented Jul 4, 2022

Signed-off-by: Sonali Saha [email protected]

Description of the changes

Add MariaDB server example

How to test this PR?

Please follow the steps present in mariadb/README.md


This change is Reviewable

Signed-off-by: Sonali Saha <[email protected]>
Copy link

@dimakuv dimakuv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 3 files reviewed, 1 unresolved discussion, not enough approvals from maintainers (3 more required), not enough approvals from different teams (2 more required, approved so far: ) (waiting on @sahason)


mariadb/mysqld.manifest.template line 2 at r1 (raw file):

loader.entrypoint = "file:{{ gramine.libos }}"
libos.entrypoint = "/usr/sbin/mysqld"

General question: what is the difference between MySQL and MariaDB?

We have an almost-the-same MySQL example: #28

From what I see, both use mysqld binary. So technically, there is no difference between using this MariaDB example and that MySQL example. So what's the difference at all?

Copy link
Member

@woju woju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 3 files reviewed, 1 unresolved discussion, not enough approvals from maintainers (3 more required), not enough approvals from different teams (2 more required, approved so far: ) (waiting on @dimakuv)


mariadb/mysqld.manifest.template line 2 at r1 (raw file):

Previously, dimakuv (Dmitrii Kuvaiskii) wrote…

General question: what is the difference between MySQL and MariaDB?

We have an almost-the-same MySQL example: #28

From what I see, both use mysqld binary. So technically, there is no difference between using this MariaDB example and that MySQL example. So what's the difference at all?

MariaDB was forked from MySQL by the original author, when Oracle bought Sun (this was around 2009-2010, I don't remember exactly). Actually it was forked a bit earlier than conclusion of the deal, but at the time it was clear the Oracle would be managing MySQL. Oracle's reputation (specifically, a lack thererof) was already well established and it was predicted MySQL would be kept just-alive to be a funnel to Oracle DB and to prevent people from migrating to PostgreSQL, but no new features will be developed. That prediction was mostly correct: some minor features were developed after all, and some were developed under proprietary licence, so MySQL is not Free Software anymore. Today practically all the development happens in MariaDB, so everyone really uses MariaDB, even if they talk about "MySQL", which is a shortcut for "MariaDB, a rightful successor of MySQL". If you try to apt-get install mysql, you get MariaDB, and so on.

We can keep both examples, or if you prefer only one, I think we should change it to MariaDB.

Copy link
Member

@mkow mkow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 3 files reviewed, 5 unresolved discussions, not enough approvals from maintainers (3 more required), not enough approvals from different teams (2 more required, approved so far: ) (waiting on @dimakuv and @sahason)


mariadb/Makefile line 25 at r1 (raw file):

		-Darch_libdir=$(ARCH_LIBDIR) \
		-Duid=$(UID) \
        -Dgid=$(GID) \

wrong indentation


mariadb/Makefile line 49 at r1 (raw file):

.PHONY: distclean
distclean: clean

missing newline


mariadb/mysqld.manifest.template line 2 at r1 (raw file):

We can keep both examples

No, we definitely don't want to maintain two almost identical examples.

I'm fine with switching from MySQL to MariaDB.


mariadb/mysqld.manifest.template line 37 at r1 (raw file):

  "file:/var/log/mysql",
  "file:/run/mysqld/",
]

missing newline


mariadb/README.md line 46 at r1 (raw file):

- `mysql -u root -p -h 127.0.0.1` to connect a client to MariaDB server.
- `mysql> exit` to disconnect the client.

missing newline

@svenkata9
Copy link

+1 for @woju 's comment for MariaDB. And, as we discussed last week, we should expand these examples to have secure provisioning, or if that is a bit of stretch, we should at least introduce protected (encrypted) files with wrapped keys as insecure option in the manifest. Gramine-SGX needs to not just run mariadb server in SGX, but also will need to protect the contents of the database.

Copy link

@dimakuv dimakuv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 3 files reviewed, 6 unresolved discussions, not enough approvals from maintainers (2 more required), not enough approvals from different teams (2 more required, approved so far: ) (waiting on @sahason)

a discussion (no related file):
Add the explicit BSD-3 license, see #90


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants