linux 服务器安装 MySQL5.7.19 步骤

由于这次安装这个MySQL绕了很大圈,谨记此文帮助还在路上的朋友

如果此前已经安装了,但是没安装成功,那么需要先把相关的文件全部删除

,删除部分就去百度或者谷歌查询,这里不再叙述

首先,我用的MySQL的版本是mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

第一步:添加一个mysql组,操作指令   groupadd mysql

第二步:添加一个用户,操作指令   useradd -r -g mysql mysql

第三步:解压缩下载的包,操作指令   tar -xzvf /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz  (注意:我的文件放在了/usr/local 文件夹下)

   解压后的文件夹里包括 

   由于之前我已经操作完成了,在这里只是查询

第四步:重命名刚才解压缩的文件夹的名字,操作指令   mv /usr/local/mysql-5.7.13-linux-glibc2.5-x86_64 /usr/local/mysql

第五步:创建一个文件夹,一会用来存放数据,操作指令   mkdir  /usr/local/mysql/data

第六步:进入mysql包中,给这个包授权给mysql,操作指令     chown -R mysql:mysql ./ 

第七步:开始初始化mysql ,这个时候请注意,由于现在官方不再推荐mysql_install_db 的初始化方式,所以我们使用我这个方法,操作指令  bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data        这一步完成之后,如果看到下图就是说明初始化成功了

请注意此时生成了一个临时密码,如图上文: YLi>7ecpe;YP(一会需要用到,请保存一下)

第八步:设置数据存储目录,操作指令  bin/mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/data

第九步:此时我们在mysql文件夹下   进入mysql下面的support-files,操作指令    cd support-files  

第十步:复制文件到全局环境,操作指令   cp mysql.server /etc/init.d/mysql

第十一步:修改basedir=  自己的mysql的安装目录     修改datadir= 自己的data目录,操作指令   vim /etc/init.d/mysql

第十二步: 启动mysql,操作指令    bin/mysqld_safe --user=mysql

如果启动正常,那么下面就开始登录了

第十三步:开始登录,mysql在bin目录下,操作指令   ./mysql -uroot -p

第十四步:输入刚才让保存的临时密码

此时mysql只有本地localhost可以访问

此时mysql只有本地localhost可以访问

第十五步:修改可远程访问,操作如下图

 

第十六步:重启MySQL服务

如果在上面操作中遇到Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 这个问题,那么请查看自己的/etc/my.cnf  里面有自己的配置文件

众所周知在默认情况下,我们安在阿里云上的mysql是不支持远程连接的,但是我们还需要通过一些工具来连接mysql,如navicat,这时就需要我们来修改mysql的远程连接了

注意一点:当我们修改完mysql权限相关的操作后一定要刷新权限表,使配置生效,执行

flush privileges ;

环境前提:centos7   mysql5.7

1、首先登录位于阿里云上的mysql:

mysql -u root -h localhost -p

2、打开mysql数据库    (需要有能操作mysql这个库的权限,一般是mysql的root用户)

use mysql 

3、这时我们有两种方式来进行修改:

第一种:是直接将原来的 user='root' and host='localhost' 记录的host修改成%或指定的ip

1)将host设置为%表示任何ip都能连接mysql

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

2)  当然也可以将host指定为某个ip

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

3) 执行完以上语句,接着执行以下语句 ,刷新权限表,使配置生效

flush privileges;

第二种: 是新增一条记录方式

1)新增一个用户newname(这个新增的用户名称也可以为root)密码为并将host设置为%表示任何ip都能连接mysql

 grant all on *.* to 'newname'@'%' identified by 'Navicat_123';

2)新增一个用户newname,密码为并将host设置为指定的ip 表示 只有该ip能连接mysql

 grant all on *.* to 'newname'@'106.39.178.131' identified by 'Navicat_123';

3) 执行完以上语句,接着执行以下语句 ,刷新权限表,使配置生效

flush privileges;

当然如果想再改成本地的连接,只需要将对应用户的host改成localhost即可,

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

4、不要现在就去navicat进行连接,还需要做两件事,要不你就到坑里了

     1)检查服务器防火墙3306端口开放了吗,没开放需要去开放

     2)检查一下阿里云的安全组规则中是否开放了3306端口,

如何检查及配置参考文档:[https://help.aliyun.com/document_detail/25471.html?spm=5176.100241.0.0.IneJPl]

5、现在是时候进行远程连接啦,在工具里输入相应的参数

host:  阿里云服务器的ip

port:3306

user name : 如果是第一种方式的修改,用户就是root,第二种修改就是你自己设置的名字,例如我的就是newname

password: 如果是第一种方式的修改,密码就是root的密码,第二种修改就是你自己设置的密码,例如我的就是Navicat_123

完!

原文地址:https://www.cnblogs.com/llynic/p/7542482.html