RPM
RPM(Red-Hat Package Manager)rpm软件包管理器,是红帽Linux用于管理和安装的工具
这里我们同样可以使用它来管理我门的Centos(相当于我们windows系统管理的《程序和功能》中对应用的卸载或更改等管理)
安装
1、检查系统中是否安装了mysql
和 mariadb
l数据库
#当前系统中安装的所有软件
rpm -qa
#当前系统中安装的名称中带有mysql的软件
rmp -qa | grep mysql
#当前系统中安装的名称中带有mariadb的软件
rmp -qa | grep mariadb
注意:
1、如果当前系统已经安装了mysql数据库,安装将失败。
2、CentOS7自带的mariadb,与masql数据库冲突需要卸载
3、-q是query,-a 是all,| 是管道符,grep是查找字符命令
2、卸载已安装的冲突软件
#卸载软件命令格式
rpm -e --nodeps 软件名称
#卸载mariadb
rpm -e --nodeps
3、下载
1、mysql下载地址 下载社区服务里的红帽- RPM捆绑
注意这里是要选择版本的,默认是最新的版本,我们这里是Linux7(我这里第一次就安装错了,安装了8,结果系统是CentOS7的,包和系统不匹配,各种缺少依赖)系统是几安装几
2、或者直接下载我提供的链接:
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar
再或者用MySQL 5.7版本也适合该环境
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
4、解压安装
我这里是解压到了/usr/local/mysql文件中去
tar -axvf mysql-8.0.29-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql/
解压之后会看到很多rpm包文件
-rw-r--r--. 1 7155 31415 28991900 3月 23 01:26 mysql-community-client-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 318868 3月 23 01:26 mysql-community-common-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 4363096 3月 23 01:26 mysql-community-devel-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 47993516 3月 23 01:26 mysql-community-embedded-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 23315792 3月 23 01:26 mysql-community-embedded-compat-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 132675656 3月 23 01:26 mysql-community-embedded-devel-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2704332 3月 23 01:26 mysql-community-libs-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 1264876 3月 23 01:26 mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 186231736 3月 23 01:27 mysql-community-server-5.7.38-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 126641600 3月 23 01:27 mysql-community-test-5.7.38-1.el7.x86_64.rpm
这里我们不需要安装这么多的包,我们只需要顺序安装其中的6个包即可
使用命令rpm -ivh {-file-name}
进行安装操作。
按照依赖关系依次安装rpm包 依赖关系依次为 common→libs→devel→client→libs-compat→server
1、 rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
2、 rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
3、 rpm -ivh mysql-community-devel-5.7.38-1.el7.x86_64.rpm
4、 rpm -ivh mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm
5、 rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm
6、 rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
注:ivh中, i-install安装;v-verbose进度条;h-hash哈希校验
执行到最后一个安装命令时候报错
说我们缺少一个net-tools的依赖,我们安装一下yum install net-tools
,安装之后,最有一个mysql-community-server-5.7.38-1.el7.x86_64.rpm
正常被安装成功了
5、启动mqsql
#启动
systemctl start mysqld
#查看当前服务状态
systemctl status mysqld
#设置开机自启动
systemctl enable mysql
因为我们刚已经安装了net-tools工具,所有现在支持了netstat
命令,可以查看启动服务
#查看已启动的服务
netstat -tunlp
netstat -tunlp | grep mysql
也查看一下mysql进程
ps -ef | grep mysql
6、查看临时密码
安装目录中会有一个log文件,里面包好了password的行信息,我们查找下
cat /var/log/mysqld.lg | grep password
7、登录mysql、修改密码、开放权限
登录
mysql -u root -p
#输入刚获取的临时密码,然后回车
修改
# 设置登录密码长度
set global validate_password_length = 4;
# 设置密码安全等级,这里为了方便设置低
set global validate_password_policy=LOW;
# 设置密码
set password = password("root")
开启访问权限
grant all on *.* to 'root'@'%'identified by 'root';
flush privileges;
8、设置防火墙、远程连接数据库
记得开放mysql的3306的端口,否则防火墙拦截无法访问数据库的
设置防火墙
#开发3306端口
[root@localhost log] firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
#重启防火墙
[root@localhost log]# firewall-cmd --reload
success
#查看当前开发的所有端口
[root@localhost log]# firewall-cmd --zone=public --list-ports
8080/tcp 3306/tcp
3306端口是mysql安装默认的端口号
我们也可已通过netstat -tunlop | grep mysql
命令查看端口
现在可以正常连接数据库了