在ubuntu云服务器上安装mysql并开放远程访问权限

2018-11-22  本文已影响0人  一灰丶
ubuntu上安装mysql非常简单只需要几条命令就可以完成。
  1. sudo apt-get install mysql-server
 
  2. apt-get isntall mysql-client
 
  3.  sudo apt-get install libmysqlclient-dev

中途不要忘记设置密码(重要)

安装成功以后

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1改为 0.0.0.0

然后重启mysql服务

重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart

然后在你的云服务器的控制台开放3306端口(如果你没有修改过的话默认是3306)具体操作过程每个平台有所不同。开放以后即可远程访问了~

数据库连接地址是 你的服务器地址 ,密码是你设置的密码

如果无法连接可能是权限问题(建议直接查看最后一种方式)

解决方案:

1、登陆mysql数据库
   mysql -u root -p

查看user表

mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)

可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;

将权限改为ALL PRIVILEGES

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.

  1. 修改配置文件:

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

如果你的目录里找不到这个文件,可以修改

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

最后重启mysql服务

image.png

注:改表操作参考于https://www.cnblogs.com/weifeng1463/p/7941625.html,可直接点击访问原作者文章

上一篇 下一篇

猜你喜欢

热点阅读