Я хочу иметь две базы данных в моем mysql контейнере (pimcore и product_info), обе charset = utf8mb4. Но когда я запускаю это, у pimcore есть кодировка latin1 и collation latin1_swedish_ci, которая абсолютно случайна. Но для другой базы данных product_info я получаю правильную кодировку (utf8mb4). Я не уверен, в чем здесь проблема.
Это мой созданный файл. sql, который запускается изначально
CREATE DATABASE IF NOT EXISTS pimcore charset=utf8mb4;
CREATE DATABASE IF NOT EXISTS product_info charset=utf8mb4;
CREATE USER IF NOT EXISTS 'dbuser'@'%' IDENTIFIED BY 'pwd';
GRANT ALL PRIVILEGES ON pimcore.* TO 'dbuser'@'%' IDENTIFIED BY 'pwd';
GRANT ALL PRIVILEGES ON prodcut_info.* TO 'dbuser'@'%' IDENTIFIED BY 'pwd';
docker -составить файл:
mysql:
image: mysql:5.7.22
container_name: mysql
restart: always
tty: true
ports:
- "13306:3306"
environment:
MYSQL_ROOT_PASSWORD: pwd
MYSQL_USER: dbuser
MYSQL_PASSWORD: pwd
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- ./:/var/www
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
- ./mysql/init:/docker-entrypoint-initdb.d
networks:
- network
.env file:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=13306
DB_DATABASE=pimcore
DB_USERNAME=dbuser
DB_PASSWORD=pwd
DB_CONNECTION_SECOND=mysql2
DB_DATABASE_SECOND=product_info
и моя база данных. php file
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'mysql2' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE_SECOND', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],