I used W -> Symmetrize to create the bones on the other side. I noticed that the axis was flipped. Is this how it supposed to be? Because now my bone constraint cannot be copy-paste easily. (e.g. Limit X 0,0 on the left side is equivalent to Limit X -90,-90 on the right side)
Yes this is how it is supposed to be. And you are right, you cannot easily copy over your limit constraints, if they are defined in world space. Since the "world axis" are not mirrored.
But if you set them to local space, they should copy just fine. And local space is what you want anyway in most rig constraints. Otherwise depending on rotation your bend axis would change and a bend forward in t-pose would become a painful bend in any other pose ;)
Are you trying to mirror the bones? You can select the bones you want to mirror, duplicate them, then rescale them amongst the x axis by a factor of -1
Select the bones you want to mirror
shift c to center cursor and . to center pivot point
shift d to duplicate
right click to keep in the same location
s to rescale
x to rescale on the x axis only
and of course input the factor of -1
This should also keep the axes aligned.