ubuntu18安装mysql5.7并配置远程连接

系统及软件版本:ubuntu18,mysql5.7

本文也是参考了若干教程,踩了不少坑,不过忘了保留对方的链接,没法直接引路了,抱歉

注意进行如下操作时都推荐在root权限下进行,否则需要在指令前加上sudo

1. 安装mysql的基础内容

此前可先手动进行apt-get的更新:apt-get update

apt-get install mysql-server

apt-get install mysql-client

apt-get install libmysqlclient-dev

 

2. 安装后需要进行密码等内容的配置

指令:mysql_secure_installation

接下来的命令行会设置一些内容,包括root的密码、是否允许远程连接,是否需要删除匿名用户等内容,看情况选择即可

 

3. 检查是否安装成功

设置完毕后可以检查mysql的服务状态

netstat -tap | grep mysql

如果mysql的socket处于listen状态即可,表示成功运行

 

4. 检测成功后需要进行mysql内部的一些设置

利用mysql -u root -p再输入密码进入mysql

权限修改的话可以针对root直接设置,也可以针对部分连接情况设置

这里为了方便直接对root进行了全局设置

grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;

如上指令相当于给root授予在任意主机(%)访问任意数据库的所有权限

而如果要单独设置某个用户的权限从本地到所有主机,则直接update某个用户的权限即可,如下所示:

update user set host='%' where user='某用户名' and host='localhost';

设置后可以执行flush privileges;,使刚才的设置生效

 

如上配置的是基础内容,但需要远程连接还需要额外配置

5. root登录方式的修改

首先是root的密码:

因为mysql5.7版本中root的默认连接方式,或者说plugin为auth_socket,需要通过设置密码来修改为mysql_native_password,即利用密码登录

如果要查看的话可在mysql数据库中的user表看到

具体设置为密码登录指令如下:

update mysql.user set authentication_string=PASSWORD('root的密码'), plugin='mysql_native_password' where user='root';

配置mysql数据库下user表中root的配置

但注意,该步有可能由于密码不符合MySQL的标准设置失败,此时可以通过降低密码强度来规避,语句如下:

set global validate_password_policy=LOW;

设置后一般再次执行前面的语句就可以成功,此时mysql内部的配置就结束了

修改后同样可以利用flush privileges;来使配置生效

 

6. mysql的开放,文件修改

此外还需要进行mysql的文件配置

文件为:/etc/mysql/mysql.conf.d/mysqld.cnf

需要将其中的bind-address = 127.0.0.1注释掉,或者后面的内容修改为0.0.0.0

修改并保存后注意在命令行执行service mysql restart来使修改的内容生效

 

 7. 端口的开放

最后就是注意机器的3306端口是否开启

如果已经开放,便可利用工具和前面设置的密码访问了

posted @ 2021-03-08 19:57  稼軒  阅读(270)  评论(0编辑  收藏  举报