ubuntu mysql安装及需要其他主机连服务器mysql时的设置(error:10061)

说明:

  一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙。但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画瓢。但是,由于mysql版本的差异,导致在安装设置的过程中出现了一些问题:就是不能远程访问。

一、安装mysql

  1. 安装需要使用root账号,如果不会设置root账号的请自行google。安装mysql过程中,需要设置mysql的root账号的密码,不要忽略了。

sudo apt-get install mysql-server
apt isntall mysql-client
apt install libmysqlclient-dev

  2. 以上3个软件包安装完成后,使用如下命令查询是否安装成功:

sudo netstat -tap | grep mysql

  查询结果如下图所示,表示安装成功。

root@xyz:~# netstat -tap | grep mysql
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN      7510/mysqld     
root@xyz:~# 

二、设置mysql远程访问

1. 编辑mysql配置文件,把其中bind-address = 127.0.0.1注释了

vi /etc/mysql/mysql.conf.d/mysqld.cnf 

2. 使用root进入mysql命令行,执行如下2个命令,示例中mysql的root账号密码:123456,里面的%为所有IP,也可以写成单个IP

 Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

3. 重启mysql

/etc/init.d/mysql restart

 

三、设置账号权限

给用户授权 

我用的用户是root 密码123456 

示例: 
Sql代码 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 

执行完后,再 
mysql:flush privileges; 
刷新一下权限就可以了,不用重启 

 重启成功后,在其他计算机上,便可以登录。

四、还是报10060,则可能是防火墙问题

telnet 192.xx.xx.xx 3306 如果报下面的报错,则是防火墙问题

telnet: connect to address 192.xx.xx.xx: No route to host

iptables -F关闭所有防火墙

原文地址:https://www.cnblogs.com/zipon/p/5877820.html