Is it possible to add index to mysql with multiple column to optimize order by performance?
You need an index on (c2, c1) for this query, not an index on (c1, c2).

Of course it would be best if there was an index (c2 DESC, c1 DESC) for the first and an index (c2 DESC, c1 ASC) for the second query. Unfortunately MySQL cannot create such indexes. The ASC and DESC are ignored.

Which means your two indexes:

CREATE INDEX index_1 ON t1 (c1 DESC, c2 DESC);  
CREATE INDEX index_2 ON t1 (c1 ASC, c2 DESC); 


are actually identical and same as if you had defined them as:

 CREATE INDEX c1_c2_index ON t1 (c1 ASC, c2 ASC);  




If the performance - with the (c2, c1) index - is not good enough, you have a few options:


Since the columns are of integer type, add two more columns and store the negative values. You'll need triggers to polulate those columns.


.  

CREATE TABLE 
( c1 INT
, c2 INT
, c1_neg INT
, c2_neg INT
);


Then you can an indexes on (c2_neg, c1) and (c2_neg, c1_neg)


If you can move to MariaDB, you can use VIRTUAL PERSISENT columns and appropriate indexes for a similar solution (a bit better as you won't have to add triggers, the columns will be populated automatically).