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
完!