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

Oracle mysql compatibility consultion #413

Open
Jacklli opened this issue Oct 20, 2019 · 14 comments
Open

Oracle mysql compatibility consultion #413

Jacklli opened this issue Oct 20, 2019 · 14 comments
Labels

Comments

@Jacklli
Copy link

Jacklli commented Oct 20, 2019

dear sir,
may i ask that whether this mysql-operator is compatible with official Oracle mysql?
we use official Oracle mysql, it's important for us.
thanks very much.

@calind
Copy link
Member

calind commented Oct 23, 2019

It should work with MySQL 5.7 out of the box but we don't test for it right now. If you want to add support for it we are happy to review and integrate PRs regarding this issue.

@Jacklli
Copy link
Author

Jacklli commented Nov 12, 2019

could you please provide us an docker image with oracle mysql 5.7,or give us an introduction about how to make docker image that can run this operator?

@AMecea
Copy link
Contributor

AMecea commented Nov 13, 2019

You can try using those docker images, those are from Oracle.

https://hub.docker.com/r/mysql/mysql-server/

Please let us know if you encounter any issues with those images.

@Jacklli
Copy link
Author

Jacklli commented Nov 13, 2019

thanks a lot, i will have a try. By the way, may i ask that where does the third party tools located? such as orchestrator. is it in the oracle mysql docker image or some where else?

@AMecea
Copy link
Contributor

AMecea commented Nov 14, 2019

The orchestrator is deployed along with the operator, in the same pod. And some other tooling is deployed with the server, for example, Percona Toolkit is used for replication monitoring, and query limit enforcement, and metrics exporter.

Maybe this presentation from KubeCon 2019 will be helpful (see slides 14 and 16).

@Jacklli
Copy link
Author

Jacklli commented Nov 15, 2019

thanks a lot. by the way,may i ask that does the operator function integrated with percona utilitiy tools?will it go wrong if i changed the percona image with oracle mysql image(oracle offical image does not integrate percona utility tools)?

@AMecea
Copy link
Contributor

AMecea commented Nov 15, 2019

The tools are deployed in the sidecar image (a different image than the MySQL image), so you can use another MySQL image without affecting the tooling.

@Jacklli
Copy link
Author

Jacklli commented Nov 15, 2019

got it,thanks very much

@Jacklli
Copy link
Author

Jacklli commented Jan 21, 2020

@AMecea hello, may i ask that how could i change the mysql image? i tried, but there's no entry that can configure the image, either mysql-cluster yaml or mysql-operator yaml.

@AMecea
Copy link
Contributor

AMecea commented Feb 13, 2020

This image can be changed per cluster. Here is an example.

Hope this helps!

@Jacklli
Copy link
Author

Jacklli commented Feb 14, 2020

@AMecea if i want to change Percona server to Oracle official mysql, what should i configure?
i checked the source code, it seems there's only percona server images can be chose. should i change the source code first before i configure the yaml file?

var (
// MySQLDefaultVersion is the version for mysql that should be used
MySQLDefaultVersion = semver.MustParse("5.7.26")
// MySQLTagsToSemVer maps simple version to semver versions
MySQLTagsToSemVer = map[string]string{
"5.7": "5.7.26",
}
// MysqlImageVersions is a map of supported mysql version and their image
MysqlImageVersions = map[string]string{
// Percona:5.7.26 CentOS based image
"5.7.26": "percona@sha256:713c1817615b333b17d0fbd252b0ccc53c48a665d4cfcb42178167435a957322",
// Percona:5.7.24 CentOS based image
"5.7.24": "percona@sha256:b3b7fb177b416563c46fe012298e042ec1607cc0539ce6014146380b0d27b08c",
}
)

@AMecea
Copy link
Contributor

AMecea commented Feb 17, 2020

No, you can choose the Oracle image of MySQL 5.7 but some features will not work, it's about the initialization of MySQL in a separate init container, this is not a critical fix, maybe it won't affect you.

@Jacklli
Copy link
Author

Jacklli commented Feb 20, 2020

@AMecea thanks

@Jacklli
Copy link
Author

Jacklli commented Mar 12, 2020

@AMecea could you please have a look?

after change the mysql image from percona to oracle mysql image (5.7.27), there's an error occured:
when connecting to mysql through 'my-cluster-mysql-master ', ssl error returned, while through ' my-cluster-mysql-replicas', it succeeded.

[root@k8smaster examples]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 443/TCP 3h21m
my-cluster-mysql ClusterIP 10.102.52.180 3306/TCP 2m26s
my-cluster-mysql-master ClusterIP 10.100.150.191 3306/TCP,8080/TCP 2m26s
my-cluster-mysql-replicas ClusterIP 10.96.129.27 3306/TCP,8080/TCP 2m26s
mysql ClusterIP None 3306/TCP,9125/TCP 168m
mysql-operator ClusterIP 10.111.201.234 80/TCP 48m
mysql-operator-0-svc ClusterIP 10.101.128.112 80/TCP,10008/TCP 48m

[root@k8smaster examples]# mysql -h 10.100.150.191 -uroot -pmypass
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol

[root@k8smaster examples]# mysql -h 10.96.129.27 -uroot -pmypass
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 79
Server version: 5.7.27-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

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

No branches or pull requests

3 participants