Here's a demo for MySQL 8.0:
CREATE TABLE mytable (list VARCHAR(10));
INSERT INTO mytable VALUE ('a|e|q'), ('k|w|z');
WITH m AS (SELECT list, ROW_NUMBER() OVER () AS r FROM mytable),
n AS (SELECT 1 AS N UNION SELECT 2 UNION SELECT 3),
x AS (SELECT m.r, SUBSTRING_INDEX(SUBSTRING_INDEX(m.list, '|', n.n), '|', -1) AS val FROM n CROSS JOIN m)
SELECT r, GROUP_CONCAT(val ORDER BY RAND() SEPARATOR '|') as list FROM x GROUP BY r;
Output if I run it repeatedly:
+---+-------+
| r | list |
+---+-------+
| 1 | a|q|e |
| 2 | w|k|z |
+---+-------+
+---+-------+
| r | list |
+---+-------+
| 1 | q|e|a |
| 2 | w|k|z |
+---+-------+
+---+-------+
| r | list |
+---+-------+
| 1 | e|a|q |
| 2 | z|k|w |
+---+-------+