场景:
以下操作都是客户机和云主机之间
客户机用navicat
云主机用mysql
原因,我在navicat中嫌碍事,顺手把mysql给删了
解决方案如下;
service mysqld stop
pkill mysql
service mysqld start
这个时候如果在云服务器用mysql(root权限下,免用户名和密码来登录mysql)登录,就会发现被删除的mysql数据库又回来了。
这个时候用navicat重新连接数据库的时候,需要把root密码去掉,也就是说,直接在云服务器终端输入mysql不用用户名和密码就能直接登录了。
此时会报错
继续解决:
mysql>update user set host = '%' where user ='root';
mysql>select host, user from user;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限
mysql>FLUSH PRIVILEGES //修改生效
mysql>EXIT //退出MySQL服务器
此时在客户机的navicat中连接数据库,应该可以正常连接并且可以创建存储过程了。