Create menu from multiple meals relationship I have the following relations:

Meals(meal_id, name, cuisine, ingredient)

Users(user_id, name, username, password, email)

Chefs(chef_id, name, username, password, email)

I want to create the following relation and schema: a relation that create menus from multiple meals for different users 

Also, user can use menus that created by chefs.

I tried the menus(menu_id, name) and put menu_id attribute into Meals. it didn't work
You'll need a menus table as you've specified (albeit with a user_id field), so menus(menu_id, user_id, name)

I would then include a linker table to join a meal to a menu, seeing as a menu can have multiple meals and a meal can belong to multiple menus meal_menu(menu_id, meal_id)

EDIT

As Colin 't Hart suggests, for the second part of the question I would also have the chef and user share a common table (probably called users) as they're sharing fields. You could then have a roles table that links each user to a role (chef, diner etc.)

That way, there's only one link from any type of user to a menu.