Set multi posts random categories and tags

Oh, I made it myself.

Just run this function until you satisfy

function Trang_Mix_CatesTags() {
$cats = get_categories(array(
    'hide_empty' => false,
));
$query = new WP_Query('post_type=post&posts_per_page=-1&post_status=publish');
if( $query->have_posts() ):
    while($query->have_posts()): $query->the_post();
        $numbers = range(0, (count($cats)-1));
        shuffle($numbers);
        $r = array_slice($numbers, 0, 5);
        $c = array(
            $cats[$r[0]]->term_id,
            $cats[$r[1]]->term_id,
            $cats[$r[2]]->term_id,
            $cats[$r[3]]->term_id,
            $cats[$r[4]]->term_id
        );
        wp_set_post_categories( get_the_ID(), $c );
    endwhile;
endif;
wp_reset_postdata();

$tags = get_categories(array(
    'taxonomy' => 'post_tag',
    'hide_empty' => false,
));
$query = new WP_Query('post_type=post&posts_per_page=-1&post_status=publish');
if( $query->have_posts() ):
    while($query->have_posts()): $query->the_post();
        $numbers = range(0, (count($tags)-1));
        shuffle($numbers);
        $r = array_slice($numbers, 0, 5);
        $c = array(
            $tags[$r[0]]->term_id,
            $tags[$r[1]]->term_id,
            $tags[$r[2]]->term_id,
            $tags[$r[3]]->term_id,
            $tags[$r[4]]->term_id
        );
        wp_set_post_tags( get_the_ID(), $c );
    endwhile;
endif;
wp_reset_postdata();
}