SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
WHERE 
  cscart_products_categories.product_id IN (
    82, 142, 62, 141, 27, 22, 23, 17, 18, 56, 
    126, 51295, 117, 116, 115, 81, 11, 51326, 
    135, 106, 105, 58, 57, 51344, 120, 51345, 
    119, 108, 4, 5, 107, 51348, 121, 51349, 
    122, 51496, 51497, 51498
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00150

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "107.11"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 122,
            "rows_produced_per_join": 122,
            "filtered": "100.00",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (82,142,62,141,27,22,23,17,18,56,126,51295,117,116,115,81,11,51326,135,106,105,58,57,51344,120,51345,119,108,4,5,107,51348,121,51349,122,51496,51497,51498))",
            "cost_info": {
              "read_cost": "52.21",
              "eval_cost": "12.20",
              "prefix_cost": "64.41",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "test_uchur_k.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 6,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "30.50",
              "eval_cost": "0.61",
              "prefix_cost": "107.11",
              "data_read_per_join": "32K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test_uchur_k`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test_uchur_k`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test_uchur_k`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test_uchur_k`.`cscart_categories`.`usergroup_ids`))) and (`test_uchur_k`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
4 6,42,40M
5 6,42,40M
11 42,8,394,40M
17 6,44,40M
18 6,43,40M
22 6,42,40M
23 6,42,40M
27 6,42,40M
56 42,8,394,40M
57 6,44,40M
58 6,43,40M
62 6,42,40M
81 43,8,394,40M
82 44,8,394,40M
105 44,6,394,40M
106 43,6,394,40M
107 33,42,40M
108 33,42,40M
115 42,8,394,40M
116 42,8,394,40M
117 42,8,394,40M
119 42,6,40M
120 42,6,40M
121 42,6,40M
122 42,6,40M
126 42,8,394,40M
135 45,394,36M
141 6,42,40M
142 6,42,40M
51295 394,42,8,40M
51326 45,394,36M
51344 6,42,40M
51345 6,42,40M
51348 6,42,40M
51349 42,6,40M
51496 40,33M
51497 40,33M
51498 40,33M