Skip to content

Instantly share code, notes, and snippets.

@oxechicao
Last active November 26, 2019 12:27
Show Gist options
  • Select an option

  • Save oxechicao/4e3632d5975899b29ea180388226fd48 to your computer and use it in GitHub Desktop.

Select an option

Save oxechicao/4e3632d5975899b29ea180388226fd48 to your computer and use it in GitHub Desktop.
Steps to run mysql-server to development

Mysql

Simple way

docker run --name mysql56 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -e MYSQL_USER=admin -e MYSQL_PASSWORD=root -d mysql:5.6

"Old" way

Create the directory

mkdir -p ~/.dockerdata/mysql/my.cnf.d/

Create a file with to set a custom mysql configuration

touch ~/.dockerdata/mysql/my.cnf.d/custom.cnf

Write the configuration bellow:

cat << EOF > ~/.dockerdata/mysql/my.cnf.d/custom.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
default_authentication_plugin = mysql_native_password
EOF

Create Mysql container

docker run --name mysql57 \
           -v ~/.dockerdata/mysql/my.cnf.d/:/etc/my.cnf.d \
           -e MYSQL_ROOT_PASSWORD="root" \
           -p 3306:3306 \
           -d mysql/mysql-server:5.7

Access mysql container bash

docker exec -it mysql bash

Grant ownership to mysql user

chown -R mysql:mysql /var/lib/mysql

Access mysql from container, update hosts and grant all privileges to root;

mysql -uroot -proot
UPDATE mysql.user SET Host='%' WHERE User='root';
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Restart mysql container

docker restart mysql
# or
docker stop mysql; docker start mysql;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment