第二次更新:Ubuntu安装、配置、远程连接MySql的正确方式

原创 144阅读 · 时间2019年4月23日 10:49

环境信息:

Ubuntu      18.04
MySql      当前最新

一.安装MySql

在 Ubuntu 18.04 中,默认情况下,只有最新版本的 MySQL 包含在 APT 软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包 apt-get。

# 命令1
sudo apt-get update
# 命令2
sudo apt-get install mysql-server

二.配置MySql

安装完MySQL之后,我们进行配置。

2.1 安装配置

sudo mysql_secure_installation

然后就进入了配置项,具体操作选项可参考下图:

mysql.png

当看到 Success  All done!  的时候证明配置完成。


2.2 我们检查一下MySQL服务状态

systemctl status mysql.service

结果如下图所示,即为正常。

mysql-ok.png



此时,我们就可以 以您刚才设置的密码进入数据库了。比如:

mysql -u root -p
password: 您刚才设置的密码

三.配置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 -u root -p


然后,切换到数据库mysql。SQL如下:

use mysql;


然后,删除匿名用户。SQL如下:

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来完成:

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

4.退出数据库

mysql> exit

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

5.重启数据库

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

sudo service mysql restart

6.远程连接MySQL尝试一下叭。




可参考我之前发表过的文章:

Ubuntu安装MySQL

局域网下访问同一个Mysql








评论

本站升级中... 如有好的建议请加入QQ群!

相关文章推荐 ?
近七日热文推荐 !
回到顶部