学习笔记(四)CentOS7 安装MySQL5.7.31
想做个微服务项目,Nocas使用本地数据库出错误,愁人,全部转战到Linux上练习
1. 基本需求
给win10上的VM中CentOS 7 安装MySQL 数据库,连接工具是MobaXterm,在黑马的一个文档基础上研究,太不详细,且不好用。
2. 系统环境准备略去,下载Mysql数据库:
下载地址 : http://dev.mysql.com/downloads/mysql/
直接在官网下载。
能下载的低版本的只有这两个吧
具体下载了 PRM Bundle 版本,为什么下载这个,问就是东西大了东西就全!
3. 先把文件是移动到centos上
mobx可以直接拉就行,别的没用过,不吭声~
很多教程都在者见一个mysql文件夹,建一个,好管理。
移动包到mysql文件夹
mkdir mysql
mv mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar mysql
然后解压包
tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
解压后
4.检查本地环境是不是已经有mysql其他版本
rpm -qa | grep mysql
没有就算没有了,有的卸载,就行
使用命令 rpm -e --nodeps {-file-name}进行卸载,移除的时候可能会有依赖,要注意一定的顺序。
不卸载后面会麻烦,我出问题没截图。卸载命令是
rpm -e --nodeps {file-name}
5. 安装Mysql
安装命令
rpm -ivh {-file-name}
注:ivh中, i-install安装;v-verbose进度条;h-hash哈希校验
因为相互依赖是,安装有顺序,
common→libs→client→server
正常是上图的情况,可能出现问题很多,我遇到两种:
比如:
warning: mysql-community-libs-5.7.31-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.31-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-5.7.31-1.el7.x86_64
解决方法查到有几种:
第一种安装需要依赖,好像没什么用
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
第二种加命令
rpm -ivh {-file-name} --force --nodeps
第三种 删除mysql原有的环境依赖,重新安装
rpm -qa|grep mysql
yum remove mysql-libs
或者
rpm -qa|grep mariadb
yum remove mariadb-libs
总的来说,第二中好使,不能用再第三种 ,在第二种
6. 启动MySQL
启动MySQL命令
service mysqld start
或者
systemctl start mysqld.service
检查MySQL状态
systemctl status mysqld.service 查看mysql状态
systemctl start mysqld.service 启动mysql
systemctl stop mysqld.service 关闭mysql
或者查看MySQL进程
查看mysql进程 ps -ef|grep mysql
查看3306端口 netstat -anop|grep 3306
7.登录设置MySQL密码
MySQl 5.7版本是有随机密码,需要找到随机密码登录,再设置密码后才能正常使用
- 查找随机密码
grep 'temporary password' /var/log/mysqld.log
- 先登录
MySQL -uroot -p
这样可以直接粘贴复制密码
- 修改登录密码
此时是无法使用其他功能,必须先设置密码
- 设置密码
命令 alter user ‘root’@‘localhost’ identified by ‘新密码’;
alter user 'root'@'localhost' identified by '123456';
设置为123456然后不通过,因为密码太简单,需要修改安全策略,设置复杂就不用管这条。
- 修改安全策略
更改策略,安全等级 validate_password_policy=0; 密码长度 validate_password_length=1;
set global validate_password_policy=0;
set global validate_password_length=1;
8.第三方登录和关闭防火墙
此时用第三方连接工具还没办法登陆使用的,因为可能防火墙没关,可能是账户只能本地登陆
先关防火墙,如果是服务器…
1、开启/关闭防火墙
systemctl start firewalld // 开启
systemctl stop firewalld // 关闭
systemctl disable firewalld // 彻底关闭
firewall-cmd --reload // 重启防火墙
2、开放指定端口
可能用不上
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
–zone #作用域
–add-port=3306/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
3、ip登陆MySQL 授权远程登陆
授权登陆
grant all privileges on *.* to root@'%' identified by '123456';
刷新权限
flush privileges;
至此,基本完成安装。
感谢一些大佬的文章,主要这位https://blog.csdn.net/wudinaniya/article/details/81094578
在此基础上加入防火墙和修改账号密码命令