【MySql】Centos7 安装 MySQL5.7 步骤
【转】Centos7 安装 MySQL5.7 步骤【侵删】
Centos7 安装 MySQL5.7 步骤
之前一直是在window上安装mysql,但是实际应用mysql都是安装在服务器上,所以记录一下
本文记录了两种方式来安装mysql
一、使用yum源方式安装
二、使用本地tar文件方式安装
(一)、使用yum源方式安装
1、卸载系统自带 mariadb
MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。
在 CentOS 7 中默认安装有 MariaDB
可忽略,安装完成之后可以直接覆盖掉MariaDB。
查看并卸载系统自带的 Mariadb
[root@localhost /]# rpm -qa|grep mariadbmariadb-libs-5.5.68-1.el7.x86_64[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64[root@localhost /]# rpm -qa|grep mariadb1234
2、下载并安装MySQL官方的 Yum
由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件
2.1 下载mysql的yum源配置
[root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm--2023-02-25 06:24:11-- https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm 正在解析主机 repo.mysql.com (repo.mysql.com)... 23.212.157.5......100%[=========================================================================>] 25,680 --.-K/s 用时 0s 2023-02-25 06:24:19 (180 MB/s) - 已保存 “mysql57-community-release-el7-11.noarch.rpm” [25680/25680])[root@localhost ~]# lsanaconda-ks.cfg mysql57-community-release-el7-11.noarch.rpm 模板 图片 下载 桌面 initial-setup-ks.cfg 公共 视频 文档 音乐12345678910111213
2.2 安装mysql的yum源
命令执行完成后会在 /etc/yum.repos.d/ 目录下生成两个repo文件
mysql-community.repo
mysql-community-source.repo
[root@localhost ~]# yum -y install mysql57-community-release-el7-11.noarch.rpm已加载插件:fastestmirror, langpacks 正在检查 mysql57-community-release-el7-11.noarch.rpm: mysql57-community-release-el7-11.noarch mysql57-community-release-el7-11.noarch.rpm 将被安装......已安装: mysql57-community-release.noarch 0:el7-11 完毕![root@localhost ~]# ls /etc/yum.repos.d/CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo mysql-community-source.repo CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo CentOS-Debuginfo.repo CentOS-Sources.repo mysql-community.repo123456789101112131415
2.3 使用yum方式安装mysql
[root@localhost ~]# yum -y install mysql-server1
2.3.1 安装过程中报错解决
如果没有提示错误可忽略
问题描述
警告:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.41-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY mysql-community-common-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装 mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装 失败的软件包是:mysql-community-libs-compat-5.7.41-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql12345678
解决方案
运行命令:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
在重新安装
运行命令[root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022重新安装[root@localhost ~]# yum -y install mysql-server1234
3、使用并设置mysql
3.1 启动mysql并查看状态
[root@localhost ~]# systemctl start mysqld.service[root@localhost ~]# systemctl status mysqld.service12
3.2 获取临时密码
在第一次登录时需要,登录后可修改密码
[root@localhost ~]# cat /var/log/mysqld.log | grep password2023-02-25T12:00:58.723624Z 1 [Note] A temporary password is generated for root@localhost: 1!L#qo3?d6i=12
3.3 登录mysql
密码为刚才获取的临时密码,即
1!L#qo3?d6i=
[root@localhost ~]# mysql -u root -pEnter password:12
3.4 修改登录密码
如果密码设置太简单,会提示错误:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wxq3012@'; Query OK, 0 rows affected (0.00 sec)12
4、设置远程访问
4.1 开启mysql的远程访问权限
在mysql命令行中输入
命令中的用%代表所有IP,如有需要,可换成指定IP
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Wxq3012@' with grant option; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)12345
4.2 为firewalld添加开放端口3306
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanentsuccess 重启配置[root@localhost ~]# firewall-cmd --reloadsuccess12345
4.3 远程连接测试
5、至此,mysql安装结束
完结,撒花
(二)、本地 tar 文件方式安装
1、获取tar安装包文件
1.1 下载mysql5.7安装包
MySQL安装包官方下载地址:https://dev.mysql.com/downloads/mysql/5.7.html
1.2 包上传到 Linux 服务器
可以通过XFTP软件将安装包上传到服务器
在 Linux 服务器根目录下创建两个文件夹:
tools 文件夹,存放软件安装包
az 文件夹,存放安装后的软件
[root@localhost /]# cd /[root@localhost /]# mkdir tools[root@localhost /]# mkdir az123
将下载好的 MySQL 安装包上传至 tools 文件夹下:
[root@localhost /]# ls /tools/mysql-5.7.41-linux-glibc2.12-x86_64.tar12
2、安装前查看设置
2.1 卸载 CentOS7 系统自带 mariadb
MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。
在 CentOS 7 中默认安装有 MariaDB
查看并卸载系统自带的 Mariadb
[root@localhost /]# rpm -qa|grep mariadbmariadb-libs-5.5.68-1.el7.x86_64[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64[root@localhost /]# rpm -qa|grep mariadb1234
2.2 检查系统是否安装过 MySQL
[root@localhost /]# rpm -qa | grep mysql1
如果系统中 MySQL ,查询所有 MySQL 对应的文件夹,全部删除
[root@localhost /]# whereis mysql [root@localhost /]# find / -name mysql12
2.3 检查有无 MySQL 用户组
检查有无 MySQL 用户组,没有则创建
检查 mysql 用户组是否存在
[root@localhost /]# cat /etc/group | grep mysql[root@localhost /]# cat /etc/passwd | grep mysql12
创建 mysql 用户组和用户
[root@localhost /]# groupadd mysql[root@localhost /]# useradd -r -g mysql mysql12
3、安装 MySQL5.7
3.1 解压下载的tar文件
解压下载的 mysql-5.7.41-linux-glibc2.12-x86_64.tar 文件后
得到 mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 文件
[root@localhost /]# mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz1
3.2 解压tar.gz文件
解压 mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 文件到 /az/ 文件夹
3.3 修改文件夹名称
修改文件夹名称为 mysql5.7
[root@localhost az]# mv mysql-5.7.41-linux-glibc2.12-x86_64/ mysql5.7[root@localhost az]# lsmysql5.7123
3.4 更改文件夹权限
为了避免权限问题,更改 mysql5.7 目录下所有文件夹所属的用户组、用户以及权限
[root@localhost az]# chown -R mysql:mysql /az/mysql5.7/[root@localhost az]# chmod -R 755 /az/mysql5.7/12
3.5 初始化mysql和获取密码
**进入 /az/mysql5.7/bin/ 目录,编译安装并初始化 mysql **
务必记住数据库管理员临时密码
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/az/mysql5.7/data --basedir=/az/mysql5.72023-02-23T22:43:52.131986Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).......2023-02-23T22:43:52.554378Z 1 [Note] A temporary password is generated for root@localhost: Pyq#VB8mieDS12345
3.6 编译my.cnf 配置文件
3.6.1 修改 my.cnf 配置文件
[root@localhost bin]# vim /etc/my.cnf[mysqld]datadir=/az/mysql5.7/dataport = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=400 innodb_file_per_table=1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 lower_case_table_names=11234567891011
3.6.1 修改 my.cnf 权限
[root@localhost bin]# chmod -R 755 /etc/my.cnf 1
3.7 编译mysql.server 文件
因为没有安装下/usr/local/mysq目录下,所以需要修改成安装的/az/mysql5.7目录。
[root@localhost bin]# vim /az/mysql5.7/support-files/mysql.server 1
4、设置mysql服务
4.1 查询服务
[root@localhost ~]# ps -ef | grep mysqlroot 2031 1778 0 06:27 pts/0 00:00:00 tar -x mysql-5.7.41-linux-glibc2.12-x86_64.tar root 2396 1778 0 06:55 pts/0 00:00:00 grep --color=auto mysql[root@localhost ~]# ps -ef | grep mysqldroot 2398 1778 0 06:55 pts/0 00:00:00 grep --color=auto mysqld12345
4.2 启动服务
[root@localhost ~]# /az/mysql5.7/support-files/mysql.server startStarting MySQL.Logging to '/az/mysql5.7/data/localhost.localdomain.err'. SUCCESS!123
4.3 添加软连接,并重启服务
[root@localhost ~]# ln -s /az/mysql5.7/support-files/mysql.server /etc/init.d/mysql[root@localhost ~]# ln -s /az/mysql5.7/bin/mysql /usr/bin/mysql[root@localhost ~]# service mysql restartShutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! [root@localhost ~]# 12345678
5、使用并设置mysql
5.1 登录mysql
密码就是初始化时生成的临时密码
[root@localhost ~]# mysql -u root -pEnter password:12
5.2 修改密码
mysql> set password for root@localhost = password('root');Query OK, 0 rows affected, 1 warning (0.00 sec)mysql>1234
6、设置远程访问
6.1 开启mysql的远程访问权限
mysql> use mysql;Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changed mysql> update user set user.Host='%' where user.User='root';Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)1234567891011
6.2 设置开机自启
将服务文件拷贝到init.d下,并重命名为mysql[root@localhost ~]# cp /az/mysql5.7/support-files/mysql.server /etc/init.d/mysqld赋予可执行权限[root@localhost ~]# chmod +x /etc/init.d/mysqld添加服务[root@localhost ~]# chkconfig --add mysqld显示服务列表[root@localhost ~]# chkconfig --list1234567891011
6.3 开放3306端口
开放3306端口命令[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanentsuccess 重启防火墙[root@localhost ~]# firewall-cmd --reloadsuccess1234567
6.4 远程连接测试
7、至此,mysql安装结束
完结,撒花
猜你喜欢
- 【MySql】Centos7 安装 MySQL5.7 步骤
- Centos7 安装 MySQL5.7 步骤(一)、使用yum源方式安装4.1 开启mysql的远程访问权限4.2 为firewalld添加开放端口33064.3 远程连接测试3.1 启动mysql并查看状态3.2 获取临时密码3.3 登录mysql3.4 修改登录密码2.1 下载mysql的yum源配置2.2 安装mysql的yum源2.3 使用yum方式安装mysql2.3.1 安装过程中报错解决1、卸载系统自带 mariadb2、下载并安装MySQL官方的 Yum3、使用并设置mysql4
- 【MySQL】索引有哪些优缺点
- 索引是数据库中用于提高查询性能的重要工具,但它也有一些有点和确定,一下是索引的主要优缺点:优点: 1. 加速查询速度最显而易见的有嗲你是加速select查询速度。通过使用索引,数据库引擎能够更快的定位和检索数据,特别是在大型数据集中。 2. 排序性能提升索引可以提高排序操作的性能,因为数据库引擎可以按照索引顺序而不是表中实际物理存储顺序来执行排序。 3. 唯一
- 【MySQL】MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
- 一、视图#视图是一个虚拟表(非真实存在的),其本质是‘根据SQL语句获取动态的数据集,并为其命名‘ ,用户使用时只需使用“名称”即可获取结果集,可以将该结果集当做表来使用。使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的SQL了,直接去视图中查找即可,但视图有明显的效率问题,并且视图是存放在数据库中的,如果我们程序中使用的SQL过分依赖数据库中的视图,即强耦合,那就意味着扩展SQL极为不便,因此并不推荐使用视图有如下的特点: &
- 【MySQL】初识数据库
- 第一篇:初识数据库#一、数据库管理软件的由来#基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问一个文件仅仅只能存在于某一台机器上。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己意淫出来的,上诉假设存在以下几个问题:1.程序所有的组件就不可能运行在一台机器上##因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器的性能
- 【MySql】关于外键和连接, 如何做到关联查询?
- 文章目录外键和连接:如何做关联查询?如何创建外键?连接关联查询中的误区外键和连接:如何做关联查询?在实际的数据库应用开发过程中,我们经常需要把2个或2个以上的表进行关联,以获取需要的数据。这是因为,为了提高存取效率,我们会把不同业务模块的信息分别存放在不同的表里面。但是,从业务层面上看,我们需要完整全面的信息为经营决策提供数据支撑。还是以超市项目为例,数据库里面的销售流水表一般只保存销售必需的信息,比如商品编号,数量, 价格,金额和会员卡号等。但是,在呈现给超市经营者的统计报表中,只包括这些信息
- 【MySQL】一文带你了解数据库约束
- 文章目录1. 约束类型2.PRIMARY KEY:主键约束3.FOREIGN KEY:外键约束4.NOT NULL:非空约束5.UNIQUE:唯一约束5.DEFAULT:默认值约束6.总结1. 约束类型作用: 数据库约束是用于限制数据输入或数据更新的规则。数据库约束确保在表中只能插入符合规则的数据,以确保数据的完整性和一致性。 常见的数据库约束包括:主键约束:用于唯一标识表中的每一行数据,确保数据唯一性和完整性。外键约束:用于确保表之间数据的关系
- 【MySql】MySQL产生死锁的根本原因及解决方法
- 概念死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程一、 什么是死锁死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程.二、 死锁产生的四个必要条件互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只
- 【MySql】mysql如何正确设置主键?
- 文章目录主键:如何正确设置主键?业务字段做主键自增字段做主键手动赋值字段做主键主键总结主键:如何正确设置主键?前面我们在讲解存储的时候,有提到过主键,它可以唯一标识表中的某一条记录,对数据表来说非常重要。当我们需要查询和引用表中的一条数据记录的时候,最好的办法就是通过主键。只有合理地设置主键,才能确保我们准确、快速的找到所需要的数据记录。下面我们借助超市项目的实际需求,来讲解一下怎么正确设置主键?在超市项目中,店家想进行会员营销,相应的,我们就需要处理会员信息。会员信息表(demo.member