grant all on *.* to 'root'@'%' identifiied by 'root的密码'方法总结:如果你想连接你的mysql的时候发生这个错误:以下是引用内容:
设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
①.:设置mysql的配置文件
/etc/mysql/my.cnf
重启mysql:/etc/init.d/mysql restart;
mysql use mysql;
查询host值:
mysql select user,host from user;
如果没有"%"这个host值,就执行下面这两句:
mysql update user set host='%' where user='root';
mysql flush privileges;
或者也可以执行:
mysqlgrand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
'%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到'xxxx'为root 用户的password;
举例:
任意主机以用户root和密码mypwd连接到mysql服务器
mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
有三种方法:
方法一(不推荐)、本地登入mysql,更改?"mysql"?数据库里的?"user"?表里的?"host"?项,将"localhost"改为"%"
#mysql?-u?root?-proot
mysqluse?mysql;
mysqlupdate?user?set?host?=?'%'?where?user?=?'root';
mysqlselect?host,?user?from?user;
方法第二段:直接授权(推荐)
从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:(首先登陆Linux服务器,填写下面代码即可)
mysqlGRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'%'?IDENTIFIED?BY?'youpassword'?WITH?GRANT?OPTION;
mysqlFLUSH?PRIVILEGES;
操作完后切记执行以下命令刷新权限
FLUSH?PRIVILEGES;
方法三:终极方法
找到mysql.cnf
默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件.
第一段:修改/etc/mysql/my.conf
改为bind-address = 0.0.0.0即可
第二段:为需要远程登录的用户赋予权限
①.、新建用户远程连接mysql数据库
flush privileges;
注意admin账户不一定要存在.
第三段:查看系统用户
①.、首先确保局域网中主机都可以访问msyql数据库主机的网络通畅.
GRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'%'?IDENTIFIED?BY?'password'?WITH?GRANT?OPTION;
上述语句意思是将root用户赋予可以访问任何主机的任何数据库权限,注意password为你设置的root用户密码.
以上就是土嘎嘎小编为大家整理的怎么配置mysql访问相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!