Ubuntu16.04环境下MySQL5.7安装&配置以及远程访问

因为毕设原因,开始接触MySQL,使用的腾讯云的服务器,开始了毕设之旅

也将一直记录自己毕设的过程,第一次用Blog来记录

今天是处理了MySQL的安装和远程登录管理的问题

环境如下;腾讯云的云主机,系统为Ubuntu16.04.1

安装过程很简单了,代码如下:

1.更新

apt-get update

2.安装mysql服务端,本来看教程需要单独安装core,client等等,后来发现都自动安装了。

apt-get install mysql-server

过程中需要设置服务器的root密码

3.不太确定,还是安装了一下client2333

apt-get install mysql-client

4.因为打开远程登录之后可以使用MySQL Workbench进行管理,所以打开远程登录是有好处的

打开mysql配置文件,将bind-address=127.0.0.1注销​

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


5.在没重启之前,查看3306端口,是只能本机访问的,如图:
netstat -an|grep 3306
6.现在重启mysql服务
service mysql restart

可以看见现在3306不是只有localhost可以访问了

7.我们来试试用MySQL Workbench来远程连接,然而,失败了
问题出在哪呢?看一下:****is not allowed,也就是说能连接,但是我们用来连接的这个ip是
禁止访问我们的服务的,所以需要执行下一步:
8.登录数据库,查看并更改权限
mysql -u root -p

use mysql;(注意分号,使用数据库命令都是要分号结尾的)
在这里看红框处,root对应的是localhost,我们需要让localhost之外的的ip也能登录数据库
百度“远程连接mysql数据库”可以看到有两种做法,这里,我使用的是改表法:
update user set host = '%' where user = 'root';
然后退出mysql并重启
exit
service mysql restart
8.现在就可以使用服务器ip和3306端口远程登录我们的MySQL服务器啦~
9.还没完!要检查一下编码,否则可能用中文时出现乱码
mysql>statu或者show variables like 'char%';
10.回到服务器修改mysql的配置文件
直接SQL语句更改编码

mysql> set character_set_client=utf8;

mysql> set character_set_connection=utf8;

mysql> set character_set_database=utf8;

mysql> set character_set_results=utf8;

mysql> set character_set_server=utf8;

mysql> set character_set_system=utf8;

mysql> set collation_connection=utf8;

mysql> set collation_database=utf8;

mysql> set collation_server=utf8;



11.重启mysql(退出mysql到服务器)
service mysql restart
12.mysql服务器配置教程就到此为止啦~