Skip to content

Mysql needs to be run as root #261

Closed
@Skull0ne

Description

@Skull0ne

Hi,

I have some trouble to run my mysql docker. Here is my error :

testmysql    | + echo 'Finished mysql_install_db'
testmysql    | Finished mysql_install_db
testmysql    | + pid=59
testmysql    | + mysql=(mysql --protocol=socket -uroot -hlocalhost --socket=/var/run/mysqld/mysqld.sock)
testmysql    | + for i in '{30..0}'
testmysql    | + mysqld --verbose --skip-networking --socket=/var/run/mysqld/mysqld.sock
testmysql    | + echo 'SELECT 1'
testmysql    | + mysql --protocol=socket -uroot -hlocalhost '--socket=/var/run/mysqld/mysqld.sock --verbose'
testmysql    | + echo 'MySQL init process in progress...'
testmysql    | + sleep 1
testmysql    | MySQL init process in progress...
testmysql    | 2017-02-06 21:44:19 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
testmysql    | 2017-02-06 21:44:19 0 [Note] mysqld (mysqld 5.6.35) starting as process 59 ...
testmysql    | 2017-02-06 21:44:19 59 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
testmysql    | 
testmysql    | 2017-02-06 21:44:19 59 [ERROR] Aborting
testmysql    | 
testmysql    | 2017-02-06 21:44:19 59 [Note] Binlog end
testmysql    | 2017-02-06 21:44:19 59 [Note] mysqld: Shutdown complete

This is my docker compose :

version: '2'

services:

 testmysql:
  build: 
    context: ./test-centos7-mysql
  image: test-centos7-mysql:latest
  container_name: testmysql
  environment:
    MYSQL_ROOT_PASSWORD: test
    MYSQL_DATABASE: test_db
    MYSQL_USER: usr_test
    MYSQL_PASSWORD: test
    MYSQL_HOST: localhost
  networks:
   test_network:
      ipv4_address: 172.16.250.1

networks:

 test_network:
   driver: bridge
   ipam:
     driver: default
     config:
     - subnet: 172.16.250.0/24
       gateway: 172.16.250.254

And my Dockerfile :


#Installation des packages de base
RUN yum install -y gcc \
        epel-release \
        make \
        net-tools 

#Installation Mysql 5.6
RUN wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
RUN rpm -ivh mysql-community-release-el7-5.noarch.rpm
RUN yum install -y mysql-community-server

# Nettoyage Yum
RUN yum clean all && rm -rf /tmp/yum*

#Copie du script de permissions
COPY ./container_files/fix_permissions.sh ./
RUN chmod -v +x /fix_permissions.sh
RUN ./fix_permissions.sh /var/lib/mysql/   && \
    ./fix_permissions.sh /var/run/

#Copie du script de création de DB
COPY ./container_files/docker-entrypoint.sh /
RUN chmod -v +x /docker-entrypoint.sh

ENTRYPOINT ["/docker-entrypoint.sh"]

#On ouvre le port par défaut de mysql
EXPOSE 3306
CMD ["mysqld"]

Versions :

CentOS Linux release 7.3.1611 (Core) 
[pedegand@localhost:~/docker-test]$ docker --version
Docker version 1.13.0, build 49bf474
[pedegand@localhost:~/docker-test]$ docker-compose --version
docker-compose version 1.9.0, build 2585387

I've seen several posts with the same kind of error (#216, #45) but I don't think that I have the same problem (no mount and MYSQL_HOST is set to localhost).

Thanks for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions