刚刚安装好mysql时,root用户是没有密码的,可以直接用 mysql -u root -p 然后回车登陆,用set password for root@localhost=password('root'); 将root用户密码设置为root。退出。重新登陆,输入密码root,进入mysql。至此mysql的root用户密码设置成功。
但是,如果我想用另一个ip来访问这个mysql,发现access denied。这是因为mysql默认不支持远程访问,需要给root用户输入以下命令
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
这样给所有用户都赋予了远程登录root账户的权限,登陆的时候输入密码root即可。我们也可以创建一个别的账户hive,create user 'hive' identified by 'hive'; 然后也给予它权限,grant all privileges on *.* to 'hive'@'djt11' identified by 'hive'; 如果想让所有ip都能登陆,将djt11换成%即可。
我们这时可以来看看用户表,select host,user from mysql.user;
看起来很完美对吗?的确,通常这样设置后,也不会出现什么错误了。但是