《从0到1 最详细MySQL安装流程(Linux环境)

《从0到1 最详细MySQL安装流程(Linux环境),第1张

   查看服务器是否有自带的MySQL,如果有可以直接使用,如果自带的版本比较低,可以删除然后安装自己想要的版本 (在安装新版本MySQL之前,需要卸载服务器自带的MySQL包和MySQL数据库分支mariadb的包)

  1、rpm -qa|grep mysql -- 查询服务器是否有mysql,如有,则执行下面的语句进行删除

  2、rpm -qa |grep mariadb -- 查询服务器是否有mariadb,有则执行第三步进行删除

  3、rpm -e --nodeps 要删除的文件名( nodeps表示强制删除 )

   小贴士1: 如果使用rz命令时提示找不到命令,直接执行: yum -y install lrzsz 则可以在线下载。

   命令: rz 或者rz -be

   格式: rz -be 选择需要上传的文件

  批量或者单个上传文件,通过ZMODEM协议,除此之外,还可以通过ftp或者sftp进行上传

   按照下面的命令顺序执行,文件名修改成你压缩后的文件名称即可

   启动命令: systemctl start mysql

   报错信息: Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

   根据报错信息执行 : systemctl status mysqld.service" 或者 "journalctl -xe"命令查看报错详情,发现报错信息中存在: Data Dictionary upgrade from MySQL 5.7 in progress

  说明是因为新版本和之前服务器自带的版本对应的包存在冲突,删除对应的冲突目录即可,执行: rm -rf /var/lib/mysql/*(执行删除命令的时候要看清楚哦)

systemctl start mysql -- 启动服务器

  第一次成功启动MySQL会被设置默认一个密码,通过以下命令查看并进行登录。

   1、查看第一次启动的临时密码 :grep password /var/log/mysqld.log

   2、连接到服务器 : mysql -u root -p 回车,然后输出密码

   3、第一次连接会强制你必须修改连接密码 ,可以使用以下的语句进行修改密码:

  ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY '123456' (MySQL8.x适合使用这个语句)

  UPDATE USER SET PASSWORD=PASSWORD('你的密码') WHERE USER='root' (MySQL5.x版本的修改)

1 linux的常用软件安装

配置阿里云的yum源

1) 安装wget

2)下载yum源的配置文件

3) 替换原有的yum源

4) 更新现有yum

5) 安装常用软件

2 linux的JDK安装

此处我们选用 jdk1.8_144这个版本作为我们的基础JDK,此处要切记一点的是1.8的不同版本JDK在配置上会有很大的出入,所以请不要随便更换基础的JDK版本,否则你会很尴尬!

使用 rz 上传jdk到root的家目录

使用rpm命令安装jdk

配置jdk的环境变量

刷新环境变量

到此 JDK安装完成

3 安装MySQL前说明

本例安装MySQL版本是 5.7

4 linux 在线安装MySQL

用root用户安装

1)获取mysql 源安装包

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2)安装mysql 源

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

3)检查mysql源是否安装成功

yum repolist enabled | grep "mysql. -community. "

3)用 yum 命令安装mysql

yum install mysql-community-server

4)修改mysql的配置文件

查看MYSQL配置文件加载顺序:

修改/etc/my.cnf 配置文件内的文件目录

datadir=/data/mysql/data

sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

log-error=/data/mysql/log/mysqld.log

其中:

SQL_MODE:通过对其正确的设置可以完成一些约束检查的工作,设置时,在配置文件my.cnf 中配置进行全局的设置。

STRICT_TRANS_TALES(严格模式):

只对支持事务的表启用严格模式。

NO_AUTO_CREATE_USER:

禁止GRANT创建密码为空的用户。

NO_ENGINE_SUBSTITUTION:

启用后,若需要的存储引擎被禁用或未编译,则抛出错误;未启用时将用默认的存储引擎代替,并抛出一个异常。

5)创建mysql 文件目录

6)生成首次登录随机密码

通过上面命令会在 /data/mysql/log/mysqld.log 中生成随机码,随机码用来首次登录mysql。

7)修改mysql 文件目录所有者为 mysql 用户

8)启动mysql

9) 关闭并重启mysql(可选)

如果再次启动报错,就重启Linux 系统。

10)用生成的随机密码登录mysql

登录后进入mysql 命令行

11)修改ROOT用户密码

设置完密码后,需要用新密码重新登录

12)卸载mysql(不是必须的)

如果启动报错,根据错误查看原因,如果实在解决不了,卸载mysql 重新装。

查看已经安装过的组件

rpm -qa | grep -i mysql

用yum -y remove 卸载所有mysqlyum -y remove mysql57-community-release-el7-11.noarch yum -y remove mysql-community-common-5.7.19-1.el7.x86_64

卸载后再用 rpm -qa | grep -i mysql 查看,直至全部卸载

删除/data/mysql 目录

5 linux 离线安装MySQL

1) 卸载CentOS7系统自带mariadb

2) 检查mysql是否存在

3) 检查mysql的用户和组是否存在如果不存在就创建

4) 下载MySQL的离线安装包

官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

版本选择,可以选择一下两种方式:

1)使用Red Hat Enterprise Linux

Select Version: 5.7.* (因为更新的缘故具体细节版本可自行查看)

Select Operating System: Red Hat Enterprise Linux / Oracle Linux

Select OS Version: Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)

列表中下载:

Compressed TAR Archive:(mysql-5.7.25-el7-x86_64.tar.gz) 【本文中使用的是这个版本】

2)使用Linux - Generic

Select Version: 5.7.* (因为更新的缘故具体细节版本可自行查看)

Select Operating System: Linux - Generic

Select OS Version: Linux - Generic (glibc 2.12) (x86, 64-bit)

列表中下载:

Compressed TAR Archive:(mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz)

注意:上边两种方式找mysql离线安装包的方式都可以。

选完跳到以下这个页面点击 下面的连接就可以开始下载了

5) 上传MySQL的离线安装包并解压进行传统配置

6) 创建配置文件

7) 开始安装MySQL

设置权限

8) 启动MySQL

9) 设置开机启动

10) 修改配置文件

11) 获取初始密码

获取初始密码

创建软连接

登录mysql

修改密码

检验密码是否成功

设置远程访问

海汼部落原创文章,原文链接:(http://hainiubl.com/topics/75580)

实施这个:

前几天安装的mysql,之前运行一直OK ,为什么今天打开就一直出现

于是网上查找了N多种方法,有说把

改default-storage-engine

还有说在C:\windows下面缺少一个my.ini

但是这些改完还是无法启动。最后无意中看到有人说打开mysql\bin\my.ini , 在[mysqld]下面添加上skit-grant-tables

这样保存下再运行,果断成功启动,上面的INNODB不改为MYISAM也可以启动,

后来百度下skip-grant-tables的作用,如下:

介绍一个非常有用的mysql启动参数—— --skip-grant-tables。顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。 *** 作方法:1、杀掉原来进行着的mysql:rcmysqld stop或者:service mysqld stop或者:kill -TERM mysqld2、以命令行参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables &3、修改管理员密码:use mysqlupdate user set password=password('yournewpasswordhere') where user='root'flush privilegesexit4、杀死mysql,重启mysql

作用是管理员忘记密码时用的,但是我就不明白这和服务器连接不上有什么关系?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8339992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存