一.在linux上下载安装 mysql
注意:安装之前先查看本机上是否有,有的话进行删除
// rpm -qa | grep mysql
// rpm -qa | grep Mysql
// rpm -qa | grep mariadb
强制删除及连带依赖:
rpm -qa |grep mysql | xargs rpm -e --nodeps
1.下载tar包: 所有版本
https://downloads.mysql.com/archives/community/
//可以通过wget下载tar包,没有wget的话,可以使用 yum -y install wget 进行下载
// 下面这个地址就是 tar包地址,里面的rpm包相关依赖都包含了
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-1.el7.x86_64.rpm-bundle.tar
- 进行解压(我这里是直接解压到了当前目录)
tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C mysql5.0
这里是我解压后的,会得到rpm文件,需要进行安装
依次执行以下命令进行安装(因为是有依赖关系的) , 需要按照顺序
注意:这里面是5.0版本的,8.0的版本安装顺序还是不太一样的(总之,安装失败解决看被依赖的那个是哪个,就先去安装被依赖的安装包就ok了),其实只需要安装server和client就可以了, 只不过有些其他的软件可能会需要其他jar包,所以就全部安装上是最好的
1.sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
2.sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
3.sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
4.sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
5.sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
这一步的时候会报很多的什么依赖被需要, 按照步骤走就行了,但是下面两种
perl(Data::Dumper) 被 Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64 需要
perl(JSON) 被 mysql-community-test-5.7.16-1.el7.x86_64 需要
解决: 使用yum安装
- yum -y install autoconf
- yum -y install perl-JSON
- 全部安装完成以后 ,就需要对
数据库进行初始化
了
// 对了, 这里还得先到 /var/lib/mysql下 看有其他文件没有,有的话,先进行删除
mysqld --initialize --user=mysql
- 到
/var/log/mysql.log
中查找初始化密码,进行登录
登录 :
先启动数据库: systemctl start mysqld
进入数据库 : mysql -uroot -p密码
6.设置密码级别,为了密码容易设置
mysql5.0设置密码:(8.0版本可以直接进行修改)
设置密码强度为低级:
set global validate_password_policy
=0;
设置密码长度:set global validate_password_length
=4;
刷新权限 :flush privileges
;
修改密码:
方式一(5.0版本可以用): set password=password("新密码");
方式二(5.0版本和8.0都可以用): alter user 'root'@'localhost' identified by '密码';
注: 修改为可以远程登录的方式
修改远程登陆:
先进入到user库
: use user
命令: update user
set host = “%” where user=“root”;
注意:也可以不设置,默认 :符合长度为8,且必须含有数字,大小写,特殊字符
其他修改密码的方式 :
mysqladmin -uroot -p原密码 password 新密码
这样数据库的安装就完成了,可以正常使用了
二丶 当mysql密码忘记时,我们可以用下面方法进行免密登录进行修改
默认的临时密码一般都存在/var/log/mysqld.log 下面,如果忘记了密码,需要进行到/etc/my.conf下面进行添加配置,登录直接跳过密码登录
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables#-----添加的这个就可以进行免密登录
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
接下来就要进行重新启动mysql了
systemctl restart mysqld
mysql -uroot