Linux 使用rpm方式安装最新mysql(5.7.16)步骤以及常见问题解决

2023-11-05

前几天在阿里云买了个服务器 ,准备自己玩玩,现将最新版mysql(5.7.16)安装步骤,以及遇到问题及解决过程分享如下:

第一步:下载rpm包

mysql官网下载:http://dev.mysql.com/downloads/mysql/
但如果你的下载网速不好的话也可以点下面的链接下载自己想要的版本
http://mirrors.sohu.com/mysql/MySQL-5.7/
我用的是(CentOs6.5)下载的是:
mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar文件

第二步:进行安装

具体如下:
1. 检查系统自带的MySQL及相关RPM包,是否安装
rpm -qa | grep -i mysql
如果有安装,则移除(rpm –e 名称)
yum -y remove mysql
2. 创建用户和组(如果已经创建则跳过)
groupadd mysql
useradd -r -g mysql mysql
3. 解压tar文件,并安装
进入文件目录 运行:tar -xf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar 解压完成,然后依次执行。
rpm -ivh mysql-community-common-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el6.x86_64.rpm
到此,mysql已经安装完成。
4. 基础配置

执行:service mysqld start 出现下图表示安装成功

这里写图片描述

关闭mysql服务:service mysqld stop

初始化(这里是以root身份执行的):bin/mysqld --initialize --user=mysql

注:使用–initialize会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root -p,然后输入密码来登录MySQL。使用–initialize-insecure不会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root –skip-password直接登录MySQL,这里我是用的第一种。

下面我们来看下root账户的随机初始密码,执行命令:vi /var/log/mysqld.log

这里写图片描述

启动mysql服务 : service mysqld start

登录:mysql -u root -p 并输入密码

这里写图片描述

但是,我就是在这里遇到了问题,输入密码后提示 :Access denied for user ‘root’@’localhost’ (using password: YES) 。百度了下,回答有很多 ,试了一下,过程如下:

首先关闭MySQL服务 :service mysqld stop

用mysqld_safe重启服务,执行:mysqld_safe --user=root --skip-grant-tables --skip-networking &如果提示mysqld_safe A mysqld process already exists。执行ps -A|grep mysql显示当前进程,然后执行
kill -9 xxxx xxxx填上一步你查出的进程序号。然后执行就没问题了。

这里写图片描述

执行 mysql -u root

这里写图片描述

网上的很多说法是执行update user set password=PASSWORD('12345') where user='root';
我试了但是提示没有password这个字段,百度了下原来5.7版本后的 password 字段变成了authentication_string,执行update user set authentication_string=PASSWORD('12345') where user='root';果然可以。
然后 执行:flush privileges;
最后 :quit
再次登录 OK

这里写图片描述

然后我想让root在其他主机上也能链接到此数据库

执行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
提示 You must reset your password ,意思是让我先重设一下密码(what the xxxx)。好吧,接着来。

密码重置,一样先关闭mysql 服务,依次执行:
mysqld_safe --user=root --skip-networking &
mysql -u root -p
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
quit;
注:新密码不能太简单,不然会提示密码过于简单,最好包含大小写字母,数字,特殊字符。
一切OK
执行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;

重启mysql服务:service mysqld restart
测试通过。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 使用rpm方式安装最新mysql(5.7.16)步骤以及常见问题解决 的相关文章

  • 虚拟内存澄清——大连续内存的分配

    我有一个应用程序 我必须在 Windows 上分配 使用运算符 new 相当大的内存空间 数百 MB 该应用程序是 32 位 我们现在不使用 64 位 即使在 64 位系统上也是如此 我启用了 LARGEADDRESSAWARE 链接器选项
  • 需要有关使用 PHP 在 mysql 数据库中插入逗号分隔数据的帮助

    数据库表中已有的演示数据 INSERT INTO csvtbl ID SKU Product Name Model Make Year From Year To VALUES 1 C2AZ 3B584 AR Power Steering P
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • 如何在 Ubuntu/Linux 发行版中安装 Tesseract-OCR 3.03?

    我和一个朋友有兴趣为 CV 项目训练 tesseract OCR 引擎 我们尝试使用一些包装器 例如 PyTesser 和 pyocr 但结果目前不如我们需要的那么准确 因此 我们希望尝试训练超立方体以更好地实现我们的目的 即识别食品标签上
  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • PDO fetch() 失败时会抛出异常吗?

    有没有方法PDO语句 fetch http php net manual en pdostatement fetch php如果 PDO 错误报告系统设置为抛出异常 则在失败时抛出异常 例如 如果我设置 PDO ATTR ERRMODE g
  • MySQL 触发器和 SUM()

    我有两张桌子 学生桌和家庭桌 在学生中 我有列 st venue 和total venue 家里我有收入 Total Revenue 是学生 st 收入与家庭收入之和 其中 family id student student id stud
  • 从数据库生成 XML 时出现 PHP 编码错误 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试获取一个简单的 PHP 服
  • 更改Docker容器中的mysql密码

    我如何更改 docker 容器中的 root 密码 因为一旦我停止 mysql 服务 容器就会自动停止 我应该停止 mysql 容器并部署一个新容器吗 您可以使用正在运行的容器更改它docker exec session https doc
  • 更新重复密钥上的复合密钥 [重复]

    这个问题在这里已经有答案了 我需要更新新行 如果两者都满足 date dat and empId who 作为复合键 但如果其中之一或两者不同 则插入 sql INSERT INTO history SET endtimestamp now
  • SIGHUP 用于重新加载配置

    根据signal 7 SIGHUP用于检测控制终端的挂起或控制进程的死亡 然而 我遇到过很多 OSS 守护进程 服务 其中SIGHUP用于启动配置的重新加载 这里有一些例子 hostapd sshd snort etc 这是实现重新加载的标
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 使用MySQL计算单个表中借方和贷方的余额

    下面的 MySQL 表包含带有关联金额的借方或贷方 操作 如何选择具有非零 余额 的所有 CLIENT ID 我尝试将表连接到自身以计算所有借方和贷方总额 但有些东西无法正常工作 CLIENT ID ACTION TYPE ACTION A
  • 如何修复 InterfaceError: 2003: 无法连接到“127.0.0.1:3306:3306”上的 MySQL 服务器(11001 getaddrinfo 失败)

    我的MySQL连接成功但是遇到这个界面错误 import mysql connector db mysql connector connect host 127 0 0 1 3306 user root passwd teja databa
  • 如何在 join 语句中进行计数

    我有桌子post int post id varchar title text content和表comment int comment id int post id varchar content其中 post id 是外键引用表帖子 如
  • 我可以在一个查询中更新/选择表吗?

    我需要在查看页面时选择数据并更新 视图 列 有没有一种方法可以在一个查询中执行此操作 或者我是否必须使用不同的查询 如果您不想 不需要使用事务 则可以创建一个存储过程 该过程首先更新视图计数 然后选择值并将其返回给用户
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe

随机推荐