CentOS7离线安装Mysql
CentOS7下安装Mysql 5.7(rpm)
(一) 查看linux操作系统版本和系统内核版本
# 查看操作系统版本
[root@nfs_client ~]# cat /etc/redhat-release
# 查看系统内核版本
[root@nfs_client ~]# uname -r
(二) 卸载旧版本的MySql (没有的话,则跳过此步骤)
1、查看旧版本MySql
rpm -qa | grep mysql 和 rpm -qa|grep mariadb-libs
将会列出旧版本MySql的组件列表
2、逐个删除掉旧的组件
使用命令rpm -e --nodeps {-file-name}进行移除操作,移除的时候可能会有依赖,要注意一定的顺序。
(三) 使用 rpm 命令安装MySql组件
解压缩zip包
使用命令rpm -ivh {-file-name}
进行安装操作。按照依赖关系依次安装rpm包,依赖关系依次为common→libs→client→server
rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm
rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm
(四) 注意细节:
执行 yum remove mysql-libs
命令后,会自动删除掉 /etc/ 下的 my.cnf 文件2> 对于安装mysql组件,只有安装了 mysql-community-server-5.7.22-1.el7.x86_64.rpm
组件,才会:
a). 在 /etc/下生成 my.cnf 文件 和 my.cnf.d 文件夹
b). 在/var/lib/下生产以下三个文件夹
c). 在/var/log/ 下生成 mysqld.log 文件
d). 在/var/run/ 下生成 mysqld 目录
(五) 个别情况:
在阿里云ECS云服务器上安装mysql5.7,当安装 mysql-community-server-5.7.22-1.el7.x86_64.rpm
时报错,报错如下:
[root@i3467544tdsxfrZ ~]# rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.22-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.22-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.22-1.el7.x86_64
真正的原因是 MySQL依赖libaio,所以先要安装libaio
[root@iZbp1845cet96se1qmb5ekZ ~]# yum -y install libaio
安装libaio后,再重新安装一次mysql-community-server-5.7.22-1.el7.x86_64.rpm
,此时就能正常安装了。
(六) 登录并创建MySql密码
1 启动MySql
安装完后,使用命令 service mysqld start 或 systemctl start mysqld.service 启动MySQL服务。(如果mysql服务无法启动,就重启一下系统)
systemctl enable mysqld.service #开机自启
systemctl start mysqld.service #启动mysql
systemctl status mysqld.service # 查看mysql状态
systemctl stop mysqld.service #关闭mysql
ps -ef | grep mysql #查看mysql进程
netstat -anop|grep 3306 #查看3306端口
2 登陆mysql修改root密码
由于MySQL5.7.4
之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个临时密码。
grep 'temporary password' /var/log/mysqld.log
然后使用临时密码,mysql -uroot -p
登录Mysql,设置实际数据库密码。
执行下面的命令修改MySql root密码
#默认密码长度大于等于8位才有效,否则报错,修改有效密码长度:
set global validate_password_policy=0;
set global validate_password_length=1;
#重设密码:
set password for root@localhost=password('1234');
#查看当前授予过的权限:
use mysql;
select user,host from user;
#授予root用户远程访问权限:
grant all privileges on *.* to root@'%' identified by '1234';
# 刷新权限,使设置生效, OK。
flush privileges;
(七) 关闭防火墙
systemctl stop firewalld
systemctl status firewalld