关于mysql数据库远程访问
Posted 开心萌小小
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mysql数据库远程访问相关的知识,希望对你有一定的参考价值。
mysql数据库安装默认为只能本地访问,若需远程连接需根据不同的操作系统做一些操作
Windows:
新装的mysql本地无法登录,显示为1045错误
mysql#1045(1045Access denied for user ‘root‘@‘localhost‘ (using password:YES)
解决方法:修改mysql数据库配置文件my.ini,在 [mysqld] 这个下面添加一行 skip-grant-tables
本地可成功访问mysql数据库,但远程访问不了
在本机上修改用户权限,默认的是localhost换成%
mysql数据库user表中直接将localhost改为“%”,
UPDATE USER SET HOST=‘%‘ WHERE USER=‘admin‘;
或者添加一行host为“%”,设置密码为要访问数据库密码一致
UPDATE USER SET PASSWORD=PASSWORD(‘baihong159753‘) WHERE HOST=‘%‘ AND
USER=‘admin‘;
若仍然无法远程访问,则必须修改mysql数据库配置文件my.ini
在 [mysqld] 这个下面添加一行 skip-name-resolve 意思是:忽略主机名的访问方式
lower_case_table_names=1,意思是:忽略数据库中的大小写,这行可加可不加
Ubuntu:
Step 1:
vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1
注释掉这行,如:#bind-address = 127.0.0.1
或者改为: bind-address = 0.0.0.0允许任意IP访问;或者自己指定一个IP地址。
重启 MySQL:sudo /etc/init.d/mysql restart
Step 2:
mysql数据库user表中对应user的Host更改为%
CentOS:
mysql>use mysql;
mysql>update user set Host=‘%‘ where Host=‘localhost‘;
mysql>flush privileges; # 重载系统权限
允许3306端口
- iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
- /etc/init.d/iptables save
- iptables -L -n # 或者: service iptables status
以上是关于关于mysql数据库远程访问的主要内容,如果未能解决你的问题,请参考以下文章