手把手教你通过yum方式安装MySQL

本文详细介绍了如何通过yum在CentOS7.5系统中安装MySQL,包括添加MySQLrpm源、安装过程、检查安装、修改root密码以及配置root远程登录权限和开放3306端口。

yum安装Mysql

  • 安装
  1. 首先,尝试一下直接使用 yum 安装 MySQL

yum install mysql-community-server

如果成功,表示不需要配置MySQL rpm 源信息,直接就安装完成了

但是,如果出现以下错误,表示我们没有添加安装包的源信息,需要安装 MySQL rpm 源信息

  1. 安装 MySQL rpm 源信息

打开网址MySQL :: Download MySQL Yum Repository

根据你的系统版本,选择对应的安装包,例如我的是CentOS 7.5,这个系统的Linux内核是 Linux 7,所以我选择了框内的地址,大家依次类推

拼接下载地址头:http://dev.mysql.com/get/,得到以下地址:

http://dev.mysql.com/get/mysql80-community-release-el7-10.noarch.rpm

使用 wget + 刚才拼接的地址,下载安装包源信息

wget http://dev.mysql.com/get/mysql80-community-release-el7-10.noarch.rpm

rpm 安装源信息

rpm -ivh mysql80-community-release-el7-10.noarch.rpm

  1. 再尝试使用 yum 安装MySQL

yum install mysql-community-server

安装过程中,会提示让我们确认,一律输入 y 按回车即可

安装完成后,yum会自动覆盖自带的mariaDB,所以不需要我们手动卸载它

  1. 检查安装是否成功

rpm -qa | grep mysql

输出类似以下内容,表示安装完成:

5、检查mariaDB是否被覆盖,输出空,表示 mariaDB 已经被成功覆盖:

rpm -qa | grep mariadb

  • MySQL 常用命令

# 启动

systemctl start mysqld

# 第一次启动后,可以查看mysql初始化密码

grep 'temporary password' /var/log/mysqld.log

# 重启

systemctl restart mysqld

# 停止

systemctl stop mysqld

#查看状态

systemctl status mysqld

#开机启动

systemctl enable mysqld

systemctl daemon-reload

# 查看进程、版本信息

ps -ef | grep mysql

netstat -atp

# 登录

mysql -u root -p'密码内容'

# 查看所有表

show databases;

# 进入数据库

use 表名

# 查看所有表

show tables

# 查看某张表信息

desc 表名

#

select * from 表名

#

delete from 表名 where field=xx

#

update 表名 set field='xxx' where field='xxx';

  • 登录和修改密码

我们安装的时候,并没有设置初始密码

所以 mysql 在第一次启动的时候,会自动初始化一个密码

通过以下这行代码,我们可以查看 mysql 自动初始化的密码:

# 第一次启动后,可以查看mysql初始化密码

grep 'temporary password' /var/log/mysqld.log

输出(root@localhost: 后面的是密码):

2023-09-04T08:52:30.816705Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: TGjsiFMRt6,b

可以看出,密码为:TGjsiFMRt6,b

  1. 登录

# 登录mysql,一定要注意:-p和'密码'之间是没有空格的

mysql -u root -p'TGjsiFMRt6,b'

  1. 修改 root 密码

注意了,默认的密码策略,需要:大写英文 + 特殊字符 + 数字

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';

如果想自定义密码,可以修改密码校验策略:

首先,安装密码验证插件,但是有个前提,你还是需要先按它的要求修改第一次密码,才能安装密码验证策略插件

(1)、先按照mysql的要求,修改一次密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';

(2)退出mysql

exit;

(3)重新登录mysql

mysql -u root -p'Root_123'

(4)安装密码验证插件

install plugin validate_password soname 'validate_password.so';

(5)查看是否启用了插件

select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

+-------------------+---------------+

| plugin_name       | plugin_status |

+-------------------+---------------+

| validate_password | ACTIVE        |

+-------------------+---------------+

输出这样的内容,表示成功启用。

(6)查看验证策略的键、值信息

SHOW VARIABLES LIKE 'validate_password%';

对于高版本的mysql,例如mysql 8,验证策略的key,是 validate_password.xxx,如:

对于低版本的mysql,例如mysql 5.7,验证策略的key,是 validate_password_xxx

我们修改密码策略和密码长度

我的策略信息的 key ,是 validate_password.xxx这个格式的,所以按照如下进行设置:

设置密码校验策略为:0(只验证密码长度)

set global validate_password.policy=0;

设置密码最低长度=N,例如设置密码最低长度=6,也就是密码最少要设置6个字符及以上

set global validate_password.length=1;

好了,现在密码就可以按照你刚才配置的策略,来进行设置密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

四、开放 root 账户远程登录

# 登录

mysql -u root -p'密码'

# 如果你的数据库是 mysql 8 及以上

# 1、进入数据库

use mysql

# 2、修改user表

update user set host='%' where user='root';

# mysql 5.7 及之前,执行这行代码即可

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

# 重载授权表

FLUSH PRIVILEGES;

# 退出

exit

# 重启

systemctl restart mysqld

  • 端口开放

经过实测,使用阿里云或者腾讯云,在服务器上,无需配置 iptables 端口信息

但必须在阿里云或者腾讯云控制台 - 服务器 - 安全组,开放 3306端口。

[root@localhost mysql-install]# ls CentOS-7-anon.repo mysql-community-embedded-5.7.27-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm 解决依赖关系完成 mysql-community-client-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.27-1.el7.x86_64.rpm mysql-community-server-5.7.27-1.el7.x86_64.rpm 软件包 mysql-community-common-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.27-1.el7.x86_64.rpm mysql-community-test-5.7.27-1.el7.x86_64.rpm 正在检查事务 mysql-community-devel-5.7.27-1.el7.x86_64.rpm mysql-community-libs-5.7.27-1.el7.x86_64.rpm yum [root@localhost mysql-install]# yum install mysql-community-server-5.7.27-1.el7.x86_64.rpm 已加载插件:fastestmirror 正在检查 mysql-community-server-5.7.27-1.el7.x86_64.rpm: mysql-community-server-5.7.27-1.el7.x86_64 mysql-community-server-5.7.27-1.el7.x86_64.rpm 将被安装 正在解决依赖关系 --> 正在检查事务 ---> 软件包 mysql-community-server.x86_64.0.5.7.27-1.el7 将被 安装 --> 正在处理依赖关系 mysql-community-common(x86-64) = 5.7.27-1.el7,它被软件包 mysql-community-server-5.7.27-1.el7.x86_64 需要 Loading mirror speeds from cached hostfile --> 正在处理依赖关系 mysql-community-client(x86-64) >= 5.7.9,它被软件包 mysql-community-server-5.7.27-1.el7.x86_64 需要 --> 解决依赖关系完成 错误:软件包:mysql-community-server-5.7.27-1.el7.x86_64 (/mysql-community-server-5.7.27-1.el7.x86_64) 需要:mysql-community-common(x86-64) = 5.7.27-1.el7 错误:软件包:mysql-community-server-5.7.27-1.el7.x86_64 (/mysql-community-server-5.7.27-1.el7.x86_64) 需要:mysql-community-client(x86-64) >= 5.7.9 您可以尝试添加 --skip-broken 选项来解决该问题 您可以尝试执行:rpm -Va --nofiles --nodigest [root@localhost mysql-install]# --skip-broken -bash: --skip-broken: 未找到命令
06-17
### 解决MySQL在CentOS 7上安装时的依赖关系问题 在CentOS 7上安装 `mysql-community-server-5.7.27` 时,可能会遇到依赖关系错误。以下是解决依赖关系问题的具体方法和版本要求。 #### 1. 确认依赖包的版本要求 根据提供的信息,`mysql-community-server` 需要以下依赖包: - `mysql-community-client(x86-64) >= 5.7.9`[^1] - `mysql-community-common(x86-64) >= 5.7.9`[^2] 因此,在安装 `mysql-community-server-5.7.27` 时,必须确保安装了满足上述版本要求的 `mysql-community-client` 和 `mysql-community-common`。 #### 2. 安装MySQL官方YUM仓库 为了确保安装正确的版本并解决依赖关系问题,建议使用MySQL官方提供的YUM仓库。具体步骤如下: ```bash # 下载并安装MySQL YUM仓库 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm rpm -ivh mysql80-community-release-el7-3.noarch.rpm # 禁用MySQL 8.0仓库以安装5.7版本 yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community ``` 通过启用 `mysql57-community` 仓库,可以确保安装的是 `mysql-community-server-5.7` 版本及其相关依赖。 #### 3. 更新系统并安装MySQL安装MySQL之前,先更新系统软件包以避免潜在的冲突。 ```bash # 更新系统软件包 yum update -y # 安装MySQL服务器 yum install mysql-community-server -y ``` #### 4. 手动解决依赖关系问题(如果需要) 如果仍然遇到依赖关系问题,可以通过手动安装缺失的依赖包来解决。例如: ```bash # 安装mysql-community-common和mysql-community-client yum install mysql-community-common mysql-community-client -y ``` 确保安装的版本满足 `>= 5.7.9` 的要求。 #### 5. 检查已安装的版本 安装完成后,检查已安装MySQL版本及其依赖包版本。 ```bash # 检查MySQL版本 mysql --version # 检查已安装的依赖包版本 rpm -qa | grep mysql ``` 通过以上步骤,可以确保 `mysql-community-server-5.7.27` 及其依赖包正确安装--- ### 注意事项 - 如果系统中存在旧版本的MySQL或MariaDB,可能需要先卸载这些软件包以避免冲突。 - 确保系统的GLIBC库版本满足依赖要求。例如,`libc.so.6(GLIBC_2.14)(64bit)` 是必要条件[^2]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值