没有任何理由使用sudo
或su
来运行MySQL命令行客户端。它默认使用你当前的Unix用户作为你的MySQL用户,但你应该把你想连接的用户作为参数传递给它:
$ mysql -u root # connect as MySQL's root user (without password)
$ mysql -u root -p # -p means prompt for a password
希望你的MySQL根账户有密码,你需要使用第二个形式。下运行MySQL(例如,文件权限),那么就这样做:
$ sudo -u unix-user mysql -u mysql-user -p
你可以省略参数(sudo会默认为用户root,MySQL会默认使用与sudo相同的用户)。