在运维的过程中,我们经常会使用到MySQL数据库,由于其安装体积小、速度快、开放源代码和社区活跃特性,一度成为众多企业和个人首要选择。MySQL经过几十年的发展,现在已经更新到8.0的大版本,但最大多数用户而言,5.x的版本才是最稳定的,所以今天以MySQL 5.7版本来演示安装过程。
离线安装
准备离线包
上传MySQL离线软件包到服务器上, 这里以CentOS 7做演示。
# 查看已上传的软件包 [root@mx mysql]# ls mysql-5.7.17.tar [root@mx mysql]# # 解压软件包 [root@mx mysql]# tar -xvf mysql-5.7.17.tar ./mysql-community-client-5.7.17-1.el7.x86_64.rpm ./mysql-community-common-5.7.17-1.el7.x86_64.rpm ./mysql-community-devel-5.7.17-1.el7.x86_64.rpm ./mysql-community-embedded-5.7.17-1.el7.x86_64.rpm ./mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm ./mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm ./mysql-community-libs-5.7.17-1.el7.x86_64.rpm ./mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm ./mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64.rpm ./mysql-community-server-5.7.17-1.el7.x86_64.rpm ./mysql-community-test-5.7.17-1.el7.x86_64.rpm [root@mx mysql]# # 安装, 如果有旧版本的mysql请先备份卸载 yum -y install mysql-community-*.rpm
安装完成后,设置开机启动和运行。
systemctl start mysqld systemctl enable mysqld #也可以使用下面的语句一次设置启动和开机启动 #systemctl enable --now mysqld # 查看运行状态 systemctl status mysqld
获得软件的随机密码。MySQL不同于MariaDB的空密码,它是密码是初始化在日志文件里的一个随机密码,我们通过grep查找关键字来筛选出密码,默认只允许root登录。
grep 'password' /var/log/mysqld.log
在root@localhost:后面的为临时密码,复制到剪贴板中备用(注意:临时密码中可能包含有特殊字符,注意不要漏掉)
如果 Active: active (running)显示为绿色的running,则正常启动。
登录MySQL
使用mysql命令登录到root用户中。
mysql -uroot -p # 这里我们使用刚刚复制的密码粘贴
修改root密码
此时我们使用的临时的密码来登录到系统中是限制了操作的,比如我查一下目前系统中的数据库,系统会提示"ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.",让我们在执行这条语句之前要先修改密码。
修改密码前,默认的密码策略是1,需要满足默认密码包含8位、数字、大小写与特殊字符。如果你的密码不需要设置这么复杂,使用下面的语句。
## 临时有效 # 修改策略为0 set global validate_password_policy=0; # 修改密码长度 set global validate_password_length=6; ## 永久生效 vim /etc/my.cnf [mysqld] validate_password_policy=0 validate_password_length=6
使用临时策略执行一下,然后修改root密码。
# 修改密码 alter user root@"localhost" identified by "密码"; # 比如修改我的密码为admin123 alter user root@"localhost" identified by "admin123"; # 退出系统 exit
可以看到我在修改密码策略之前修改是失败了的,执行密码策略后再次执行成功。
使用新密码重新登录系统
mysql -uroot -p #你的新密码
在线安装
在线安装我们通常使用的是官方提供的仓库文件,安装仓库文件后会更新yum源,通过设定的yum源就可以安装指定版本的mysql了。
安装yum仓库
由于目前官方已经把mysql更新到8.0了,在官网上难以找到5.7的仓库文件,这里我们使用连接下载。
# 安装必要依赖 yum -y install gcc wget vim expect # 下载和安装仓库文件 wget -c -P /tmp http://qny.aoarasi.com/mysql57-community-release-el6-9.noarch.rpm # 备用下载地址 # https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm # 安装 rpm -ivh /tmp/mysql57-community-release-el6-9.noarch.rpm # 建立缓存 yum makecache # 删除33行,修改为5.7,不然安装不成功 sed -i '33d' /etc/yum.repos.d/mysql-community.repo # 添加33为新的地址 sed -i '33i baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/' /etc/yum.repos.d/mysql-community.repo # 安装mysql yum -y install mysql-community-server.x86_64 yum -y install mysql-devel
由于是在线安装,在网络不太好的情况下需要较长的时间。如必须要网络也可以把前者的离线文件做成网络yum仓库使用,或使用国内镜像站点加速。
安装完成后,后续步骤同前面离线安装相似,需要使用临时密码登录系统并更改密码,故不赘述。
获取MySQL5.7离线安装包,请回复「107」。