提示:该操作是在centos7镜像下进行的,不同的镜像文件,操作可能会有差异化
VM虚拟机的安装和centos镜像的下载配置
注:以下所有操作,有就执行对应的删除,无就跳过该步骤,目的是为了不影响所需的mysql安装
未安装过相关的mysql,只是单纯的镜像配置了linux环境
centos自带的类mysql数据库是mariadb(你配置的镜像环境,可能会有,也可能没有,这归咎于镜像的配置操作),会跟mysql冲突,要先删除
rpm -qa|grep mari
使用该指令进行查询,有就进行删除,无就跳过
如果有的话,在执行上述命令后会有查询结果(如上类似),如果无的话就什么也不会显示。
有执行删除(上述查询结果)
rpm -e --nodeps marisa-0.2.4-4.el7.x86_64(上述查询到的名称)
rpm -e --nodeps mariadb-libs-5.5.60-l.el7 5.x86_64(上述查询到的名称)
无就跳过该步骤
下面是你安装过mysql,感觉不合适,需要安装其他版本的
1). 停止MySQL服务
systemctl stop mysqld
2). 查询MySQL的安装文件
rpm -qa | grep -i mysql
如果有的话,在执行上述命令后会有查询结果(如上类似),如果无的话就什么也不会显示。
有执行删除(上述查询结果) –nodeps就是安装或卸载时不检查依赖关系rpm -ev** mysql-community-common-5.6.44-2.el7.x86_64 --nodeps rpm -ev mysql-community-release-el7-5.noarch --nodeps rpm -ev mysql-community-client-5.6.44-2.el7.x86_64 --nodeps rpm -ev mysql-community-server-5.6.44-2.el7.x86_64 --nodeps rpm -ev mysql-community-libs-5.6.44-2.el7.x86_64 --nodeps
3) 查看mysql相关文件
find / -name mysql
有查询结果的,删除对应的文件
有的话删除(你对应的查询结果)
rm -rf /usr/include/msql
rm -rf /usr/include/mysql/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /var/lib/mysql/mysql
无就跳过
4)删除MySQL的数据存放目录
rm -rf /var/lib/mysql/
5)删除MySQL的配置文件备份
rm -rf /etc/my.cnf.rpmsave
6)最后验证MySQL是否删除完成
rpm -qa | grep -i mysql 最后应该是啥也查询不到,就说明卸载OK了(有点繁琐,主要是为了确保真的删除了)
上传MySQL安装包
看个人使用的是什么远程传输工具,我用的是Xshell和Xftp(对于个人和学校是免费的)
Xftp下载地址官网
其中Xftp可能会有中文乱码问题,设置一下编码为utf-8就行了
自己找个文件夹,上传mysql的tar包到该目录
比如:
解压,安装
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm `
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
yum install openssl-devel
#在安装下一个mysql-community-devel-8.0.26-1.el7.x86_64.rpm时为提示缺少依赖,所以需要先安装依赖
rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
重启服务器:
systemctl start mysqld --开启
systemctl restart mysqld --重启
查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log
登录
修改root用户密码
可以依照自己情况而定,本人只在电脑上学习使用,所以密码趋于简单化了
具体可以参考官方文档:
官方文档
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为6。(依个人而定)
set global validate_password.policy = 0; --密码等级0,1,2
set global validate_password.length = 6; --密码长度
降低密码的校验规则之后,再次执行上述修改密码的指令。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
并给root用户分配权限
grant all on *.* to 'root'@'%';
重新连接MySQL
mysql -u root -p