在CentOS上搭建MySQL过程后,默认的root账户只能在本机访问的,如果想通过其他机器访问CentOS上的MySQL数据库,需要进行一番配置方可进行访问。解决方案如下。
第一步:使用root登录mysql,并选择mysql数据库,执行命令:
-- 登录mysqlmysql -uroot -proot的密码;-- 进入mysql数据库use mysql;
第二步 : 如果仅仅授权 root ,那么远程访问则无法连接,这时需要授权:
-- 为对应账户赋予可以访问的权限,‘访问用户名’和‘访问密码’部分填写所需的GRANT ALL PRIVILEGES ON *.* TO '访问用户名'@'%' IDENTIFIED BY '访问密码' WITH GRANT OPTION;-- 写入权限FLUSH PRIVILEGES;
第三步:重启数据库
/etc/init.d/mysqld restart
第四步:如果 CentOS启用防火墙时 没有打开3306端口,那么通过远程访问 MySQL 时也会无法连接上。要打开 3306 端口,请执行以下步骤:
vi /etc/sysconfig/iptables
在该文件中添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
然后重启防火墙
service iptables restart