在配置文件的mysqld一节,增加skip-grant-tables选项:
[mysqld] skip-grant-tables
重启mysql服务。
service mysql restart
在服务器本机进入mysql(不需要输入密码):
mysql
此时已经是root权限,可以做任何事情。有一点需要注意,如果要操作系统表,如增加用户等,可能会报错:
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这个时候,在MySQL命令提示符下执行:
set global read_only=0; flush privileges;
接下来就可以创建用户,修改密码了。不过别忘了,在所有操作执行完毕后,运行:
set global read_only=1; flush privileges;
接下来退出MySQL命令行,删除或者注释掉刚开始添加到mysql配置文件(my.cnf)中的
skip-grant-tables
最后,保存配置文件,重启mysql服务即可。
添加普通用户并赋予某个数据库全部权限(第二行是为了增加远程访问权限):
GRANT ALL ON username.* TO dbname@localhost IDENTIFIED BY ‘password’;
GRANT ALL ON username.* TO dbname@’%’ IDENTIFIED BY ‘password’;
添加系统管理员(第二行是为了增加远程访问权限):
GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ‘username’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;