自己搭建MySQL服务,网上教程很多,这个比较简单使用,引用了简书 九尾的分享 : http://www.jianshu.com/p/17fb10320d63
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
更新yum软件包
yum check-update
更新系统
yum update
安装mysql
yum install mysql mysql-server
启动
systemctl start mysqld
mysql -u root
授权远程访问
use mysql;
grant all privileges on . to root@’%’ identified by “root”;
FLUSH RIVILEGES;
在CentOS 7下面很多外网访问是需要权限的。关于这一块,引用这个比较完整的解决方案:https://my.oschina.net/Laily/blog/712958
有一个账户 tt 无法从远程连接数据库,报错 Can’t connect to MySQL server on ‘’ (61)
1、查看该用户是否有远程登录的权限
mysql> SELECT User, Host FROM mysql.user;
+———–+———–+
| User | Host |
+———–+———–+
| tt | % |
| mysql.sys | localhost |
| root | localhost |
| Laily | % |
| ttt | % |
+———–+———–+
5 rows in set (0.00 sec)
很显然,tt 是允许从其它服务器登陆的。
2、查看 MySQL Server 是不是监听了 3306 端口
[root@centos-linux ~]# netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/master
tcp6 0 0 :::3306 :::* LISTEN 27 46396 22054/mysqld
tcp6 0 0 :::22 :::* LISTEN 0 16803 1507/sshd
tcp6 0 0 ::1:25 :::* LISTEN 0 17223 1970/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclient
udp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclient
udp6 0 0 :::47875 :::* 0 48851 22999/dhclient
我在这里也没有问题,这里如果没有监听3306端口或者只监听了localhost(0.0.0.0表示监听所有),则在my.cnf添加下面这一行
bind-address = 0.0.0.0
3、如果服务器是 CentOS7,将 MySQL 服务加入防火墙
[root@centos-linux ~]# sudo firewall-cmd –zone=public –permanent –add-service=mysql
success
[root@centos-linux ~]# sudo systemctl restart firewalld
我的重启防火墙之后就能正常访问了。