说明:
一个朋友在使用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关闭所有防火墙