【Linux】- Ubuntu 配置mysql远程访问

ubuntu上安装mysql非常简单只需要几条命令就可以完成。

sudo apt-get install mysql-server
 
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
 
sudo netstat -tap | grep mysql
 
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
 
登陆mysql数据库可以通过如下命令:
 
mysql -u root -p 
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
 
然后通过 show databases; 就可以查看当前的数据库。
我们选择 mysql数据库就行下一步操作,使用use mysql 命令,显示当前数据库的表单:show tables 
 
 
MySQL允许远程访问的设置

1.注释bind-address = 127.0.0.1。

命令:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1注释掉(即在行首加#),如下:

代码如下:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。

从上面的注释中,可以看出,旧版本的MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下。

2.删除匿名用户

登录进数据库:

mysql -uroot -p123456
然后,切换到数据库mysql。SQL如下:
mysql> use mysql;
然后,删除匿名用户。SQL如下:
mysql> delete from user where user='';

 

3.增加允许远程访问的用户或者允许现有用户的远程访问。

接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:

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

如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:
msyql> update user set host='%' where user='root' and host='localhost';

 

4.退出数据库

mysql> exit

在MySQL Shell执行完SQL后,需要退出到Bash执行系统命令,需要执行exit。因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。

 

5.重启数据库

完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:

>sudo service mysql restart


posted @ 2018-10-10 13:20  wangwust  阅读(6437)  评论(0编辑  收藏  举报