积累,小白也可成大神
首先,需要具有mysql,先在命令行下安装mysql。命令为:sudo apt-get install mysql-server mysql-client.
当安装结束之后,只可以在本地对数据库进行访问,因为目前mysql并没有开启远程的访问权限。可以用 netstat -an|grep 3306进行查看,可以发现目前只是监听了127.0.0.1。因为我们要进行远程访问,所以要监听所有的主机ip。要修改/etc/mysql/my.cnf文件中的bind-address。可以将bind-address=127.0.0.1注释掉,只需在前面加个#号。也可以将它改为bind-address=0.0.0.0。
目前mysql就可以监听所有的主机ip,目前用netstat an|grep 3306就会发现监听的地方改为0.0.0.0。
改完之后我们需要重启mysql服务器,重启命令为 /var/init.d/mysql restart或是service mysql restart或者/etc/init.d/mysqld restart(根据mysql服务器启动文件位置所决定)。
监听已经设置好,但是我们还是需要给用户设置权限,设置权限则需要我们登录mysql ,命令为mysql -u 用户名 -p。然后执行:
grant all privileges on * . * to 用户名@‘%’ identified by ‘password’ with grant option;
第一行命令解释如下,.:第一个代表数据库名;第二个代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql
使该用户对数据中所有文件都具有访问的权限,接着刷新:
flush privileges;
目前就可以远程访问该数据库了。但是有时候还是会报错,如果报出错误为,连接的时候密码问题。则需要在数据库中修改mysql表中的该用户的password为你设定的。
方法为:
去/etc/mysql文件夹中找到debian.cnf文件,然后打开该文件,其中具有一个用户名和密码,用它登录上mysql,mysql -u 用户名 -p 密码。接着更新数据库中用户名的密码,方法如下:
update mysql.user set password=PASSWORD(‘newpassword’) where user=’用户名’;
接着基本上就可以解决这个问题,用远程链接mysql了。前提是你的该端口是打开的,防火墙不拦截该端口。远程链接mysql的命令为: mysql -h 远程ip -u 用户名 -p 密码。
另一种方法:
我们可以进入mysql数据库,修改用户的host
use mysql ;
update user set host = ‘%’ where user=’root’;
总结
如果文件出现权限问题,情况chmod 777 文件夹 修改权限。