aboutsummaryrefslogtreecommitdiff
path: root/srcs/mysql
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-10-26 17:35:08 +0100
committerCharles Cabergs <me@cacharle.xyz>2020-10-26 17:35:08 +0100
commit3e6e4dedcdf5db862ebaaa9b5efc5990459533b3 (patch)
tree2ef0fad767b4b2bc19f94cf3e375811231c7ad87 /srcs/mysql
parent61395fc0ab992631d967dd6718dfa0db527d422c (diff)
downloadft_services-3e6e4dedcdf5db862ebaaa9b5efc5990459533b3.tar.gz
ft_services-3e6e4dedcdf5db862ebaaa9b5efc5990459533b3.tar.bz2
ft_services-3e6e4dedcdf5db862ebaaa9b5efc5990459533b3.zip
Fixing metallb on linux
Diffstat (limited to 'srcs/mysql')
-rw-r--r--srcs/mysql/Dockerfile28
-rwxr-xr-xsrcs/mysql/entrypoint.sh37
-rw-r--r--srcs/mysql/my.cnf132
-rw-r--r--srcs/mysql/mysql.yaml5
-rwxr-xr-xsrcs/mysql/start.sh10
5 files changed, 58 insertions, 154 deletions
diff --git a/srcs/mysql/Dockerfile b/srcs/mysql/Dockerfile
index 448080e..5f36a6c 100644
--- a/srcs/mysql/Dockerfile
+++ b/srcs/mysql/Dockerfile
@@ -1,16 +1,14 @@
-FROM alpine:latest
-#init
-RUN apk -U upgrade
-#install nginx/php
-RUN apk add vim mysql mysql-client
-# RUN apk add telegraf --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted --no-cache
-#Expose PORT
+FROM alpine
+
+RUN apk update && \
+ apk upgrade && \
+ apk add mysql mysql-client --no-cache
+
+
+COPY entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+# COPY my.cnf /etc/my.cnf.d/ft_services.cnf
+
EXPOSE 3306
-COPY my.cnf /etc/
-COPY start.sh .
-#COPY wordpress .
-# COPY init.sql .
-#telegraf
-# RUN mkdir -p /etc/telegraf
-# COPY telegraf.conf /etc/telegraf/telegraf.conf
-CMD /bin/sh /start.sh
+
+CMD ["/entrypoint.sh"]
diff --git a/srcs/mysql/entrypoint.sh b/srcs/mysql/entrypoint.sh
new file mode 100755
index 0000000..07493b6
--- /dev/null
+++ b/srcs/mysql/entrypoint.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# mkdir -p /run/mysqld
+# mkdir -p /var/lib/mysql
+#
+# mysql_install_db --user=root --datadir=/var/lib/mysql > /dev/null
+#
+# /usr/bin/mysqld --user=root --datadir=/var/lib/mysql --bootstrap <<EOF
+# CREATE DATABASE wordpress;
+# CREATE USER 'root'@'%' IDENTIFIED BY 'root';
+# GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'%' IDENTIFIED BY 'root';
+# FLUSH PRIVILEGES;
+# EOF
+#
+# sleep 5
+#
+# sed -i "s|.*bind-address\s*=.*|bind-address=0.0.0.0|g" /etc/my.cnf.d/mariadb-server.cnf
+#
+# exec /usr/bin/mysqld --user=root --datadir=/var/lib/mysql
+
+mkdir -p /run/mysqld
+mkdir -p /var/lib/mysql
+
+mysql_install_db --user=root > /dev/null
+
+/usr/bin/mysqld --user=root --bootstrap <<EOF
+CREATE DATABASE wordpress;
+CREATE USER 'root'@'%' IDENTIFIED BY 'root';
+GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'%' IDENTIFIED BY 'root';
+FLUSH PRIVILEGES;
+EOF
+
+sleep 5
+
+sed -i "s|.*bind-address\s*=.*|bind-address=0.0.0.0|g" /etc/my.cnf.d/mariadb-server.cnf
+
+exec /usr/bin/mysqld --user=root
diff --git a/srcs/mysql/my.cnf b/srcs/mysql/my.cnf
index a366ea4..4f5e2c6 100644
--- a/srcs/mysql/my.cnf
+++ b/srcs/mysql/my.cnf
@@ -1,129 +1,5 @@
-# The MySQL database server configuration file.
-#
-# You can copy this to one of:
-# - "/etc/mysql/my.cnf" to set global options,
-# - "~/.my.cnf" to set user-specific options.
-#
-# One can use all long options that the program supports.
-# Run program with --help to get a list of available options and with
-# --print-defaults to see which it would actually understand and use.
-#
-# For explanations see
-# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
-
-# This will be passed to all mysql clients
-# It has been reported that passwords should be enclosed with ticks/quotes
-# escpecially if they contain "#" chars...
-# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
-[client]
-port = 3306
-socket = /var/run/mysqld/mysqld.sock
-default-character-set = utf8mb4
-
-# Here is entries for some specific programs
-# The following values assume you have at least 32M ram
-
-# This was formally known as [safe_mysqld]. Both versions are currently parsed.
-[mysqld_safe]
-socket = /var/run/mysqld/mysqld.sock
-nice = 0
-
[mysqld]
-#
-# * Basic Settings
-#
-user = mysql
-pid-file = /var/run/mysqld/mysqld.pid
-socket = /var/run/mysqld/mysqld.sock
-port = 3306
-basedir = /usr
-datadir = /var/lib/mysql
-tmpdir = /tmp
-lc-messages-dir = /usr/share/mysql
-skip-external-locking
-collation_server = utf8mb4_unicode_ci
-character_set_server = utf8mb4
-bind-address = 0.0.0.0
-
-#
-# Instead of skip-networking the default is now to listen only on
-# localhost which is more compatible and is not less secure.
-#
-# * Fine Tuning
-#
-key_buffer = 16M
-max_allowed_packet = 16M
-thread_stack = 192K
-thread_cache_size = 8
-# This replaces the startup script and checks MyISAM tables if needed
-# the first time they are touched
-myisam-recover = BACKUP
-#max_connections = 100
-#table_cache = 64
-#thread_concurrency = 10
-#
-# * Query Cache Configuration
-#
-query_cache_limit = 1M
-query_cache_size = 16M
-#
-# * Logging and Replication
-#
-# Both location gets rotated by the cronjob.
-# Be aware that this log type is a performance killer.
-# As of 5.1 you can enable the log at runtime!
-#general_log_file = /var/log/mysql/mysql.log
-#general_log = 1
-#
-# Error log - should be very few entries.
-#
-# log_error = /var/log/mysql/error.log
-#
-# Here you can see queries with especially long duration
-#log_slow_queries = /var/log/mysql/mysql-slow.log
-#long_query_time = 2
-#log-queries-not-using-indexes
-#
-# The following can be used as easy to replay backup logs or for replication.
-# note: if you are setting up a replication slave, see README.Debian about
-# other settings you may need to change.
-#server-id = 1
-#log_bin = /var/log/mysql/mysql-bin.log
-expire_logs_days = 10
-max_binlog_size = 100M
-#binlog_do_db = include_database_name
-#binlog_ignore_db = include_database_name
-#
-# * InnoDB
-#
-# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
-# Read the manual for more InnoDB related options. There are many!
-#
-# * Security Features
-#
-# Read the manual, too, if you want chroot!
-# chroot = /var/lib/mysql/
-#
-# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
-#
-# ssl-ca=/etc/mysql/cacert.pem
-# ssl-cert=/etc/mysql/server-cert.pem
-# ssl-key=/etc/mysql/server-key.pem
-
-
-
-[mysqldump]
-quick
-quote-names
-max_allowed_packet = 16M
-
-[mysql]
-#no-auto-rehash # faster start of mysql but no tab completion
-default-character-set = utf8mb4
-[isamchk]
-key_buffer = 16M
-
-#
-# * IMPORTANT: Additional settings that can override those from this file!
-# The files must end with '.cnf', otherwise they'll be ignored.
-#
+user = root
+port = 3306
+datadir = /var/lib/mysql
+log-bin = /var/lib/mysql/mysql-bin
diff --git a/srcs/mysql/mysql.yaml b/srcs/mysql/mysql.yaml
index ead25b4..17ba1e8 100644
--- a/srcs/mysql/mysql.yaml
+++ b/srcs/mysql/mysql.yaml
@@ -35,8 +35,11 @@ apiVersion: v1
kind: Service
metadata:
name: mysql-service
+ labels:
+ app: mysql
spec:
- type: LoadBalancer
+ type: ClusterIP
+ # clusterIP: None
ports:
- name: mysql
port: 3306
diff --git a/srcs/mysql/start.sh b/srcs/mysql/start.sh
deleted file mode 100755
index bee0298..0000000
--- a/srcs/mysql/start.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-mysql_install_db --user=root --ldata=/var/lib/mysql
-cat > /tmp/sql << eof
-CREATE DATABASE wordpress;
-FLUSH PRIVILEGES;
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
-FLUSH PRIVILEGES;
-eof
-/usr/bin/mysqld --console --init_file=/tmp/sql