Once you have given users the ability to change their own username (in the backend) they will be able to change it via My Settings/Personal Profile/Login
If that tab is not appearing for you, then this functionality might have been removed for your community and you will need to log a support ticket to reinstate it.
Note that there are also SSO implications - if your community uses a single sign on then the process above does not apply.
Aha. SSO is the problem then. Thanks @JasonHill!
Do you know if there's a way to change it in the admin even if using SSO?
The story behind this is a user created a username with CALL####### (their number). Which is the most ridiculous self-promotion I've yet to see. 😉
You will need to find someone internally who has knowledge of your SSO implication - its going to be unique to your organisation.
If a username is only changed on the Lithium side, not on your CRM, the next time the user logs in it will just revert to their old username.
If your just looking to mitigate use of phone numbers in user names you could change the criteria for usernames to limit the number of "numbers" or apply a (regex) filter to the username content filters. All that said im not sure how these works with SSO but may be worth investigating.