Linux升级mysql到5.7

本文介绍在Linux系统手动安装和配置MySQL的详细步骤,包括查看与删除已安装的MySQL、下载yum源、选择版本、安装服务,还提及MySQL命令操作,如启动、查看状态、关闭等,以及密码修改、远程连接设置、字符集编码修改和启动方式区别等内容。

手动操作

        1、先查看主机是否已安装mysql(linux默认已安装mysql)

        查看命令:    yum list mysql*

                             rpm -qa mysql*

        2、删除已安装的mysql

        删除命令:    yum remove mysql*

                            rpm -e mysql*

        3、创建文件夹/usr/local/mysql,并进入

                mkdir  /usr/local/mysql

                cd /usr/local/mysql

        4、下载官网的mysql的yum源

 

使用wget ,在linux上下载(没有wget的,使用 yum -y install wget安装wget)

    下载命令:    wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm

 

 

5、使用下载的yum源升级yum包

        命令:rpm -Uvh mysql80-community-release-el6-1.noarch.rpm 

 

 

 6、   查看可以使用的mysql版本

        使用命令:  yum repolist all | grep mysql 

 

 

 7、将自己需要的版本改成enabled        (通过修改 /etc/yum.repos.d/mysql-community.repo 来实现)

            vi /etc/yum.repos.d/mysql-community.repo

                找到需要的版本号,将 enabled=0 改成 enabled=1 ,将其他版本的 enabled=1 改成 enabled=0 

                这里只修改版本中的enabled,否则安装会出错 (只把8.0的改成enabled=0 ,5.7的改成enabled=1)

 

wq!

保存退出,再次执行yum repolist enabled | grep mysql可以看到修改的结果



 

 

 8、安装mysql-community-server

        命令:    yum -y install mysql-community-server

 

(遇到报错如下:)

 



 

解决办法:配置yum源,更新yum缓存

 

1)下载repo文件 
wget http://mirrors.aliyun.com/repo/Centos-7.repo

2)备份并替换系统的repo文件 
cp Centos-7.repo /etc/yum.repos.d/ 
cd /etc/yum.repos.d/ 
mv CentOS-Base.repo CentOS-Base.repo.bak 
mv Centos-7.repo CentOS-Base.repo (区分大小写)

3)执行yum源更新命令 
yum clean all 
yum makecache 
yum update

配置完毕。

 

 

 重新执行安装命令: yum -y install mysql-community-server

    执行过程未报错,安装成功

 



  9、 mysql命令

        启动:service mysqld start



 

     查看状态:    service mysqld status

        关闭:    service mysqld stop



 

 

        进入mysql

                musql -u root -p

 刚安装的mysql,密码默认不为空,无法登陆

 



 

查看默认密码:

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



 

我的默认密码是“GhJU4C:-cuuN

 

用默认密码登录



 

 

修改默认密码



 

提示“Your password does not satisfy the current policy requirements”,密码强度不符合要求

 

我们可以降低它的密码验证强度从而可以设置任意密码

登录MySQL后

执行以下命令修改mysql全局参数配置

set global validate_password_policy=0; 设置密码强度检查等级

set global validate_password_length=3; 设置密码最低强度

set global validate_password_mixed_case_count=0;  

set global validate_password_number_count=3;  

 

执行成功了然后修改密码没有问题了

SET PASSWORD = PASSWORD('abc123');

不过,如果是为了安全起见,可以设置符合安全规则的密码,这样更好。

 

设置允许root账户进行远程连接

 

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
mysql> flush privileges;

 

 

第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如: 
GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”; 
123@asdf是登录密码。 
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

 

修改字符集编码 UTF-8

 

show variables like 'char%';

 

检测是否都是utf-8(filesystem除外),如果不是就得改,例如这个character_set_server一般是拉丁编码 
修改编码

//停数据库
systemctl stop mysqld

//进入 my.cnf 文件,一般是在etc路径下
vim /etc/my.cnf
//加入要修改的字符集 修改完:wq退出
在[mysqld]下追加:
character-set-server=utf8

//重启数据库
service mysqld start

 


 

 

启动:service mysqld start

查看状态:    service mysqld status

关闭:    service mysqld stop

 

 

 1.首先明确启动mysql的方式有:

 

一、启动方式

1、使用 service 启动:service mysqld start

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start (不建议此方式,这是直接启动mysqld进程,不管其之前是否被启动)

3、使用 mysqld_safe 启动:去对应mysql安装目的bin下,执行命令./mysqld_safe --user=mysql &


2.几个脚本的区别:

ysql.server,mysqld_safe和mysqld都是可以用来启动mysql服务的,但他们之间是有些区别的

Note:Mysql.server指的是 /etc/init.d/mysql

这三个命令中,其中mysql.server和mysqld_safe 是shell 脚本写的

 

直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的

 

mysqld_safe是个脚本,它会检测当前mysqld进程是否存在等等,所以叫safe嘛~
service mysql start是直接调用mysqld进程启动~

 

 

<think>嗯,用户想在Linux环境下离线升级MySQL5.7.44版本。首先,我需要确定离线升级的具体步骤。用户之前可能已经安装过旧版本的MySQL,所以升级需要处理数据备份、停止服务、替换安装包、数据迁移等步骤。 首先,数据备份是关键,避免升级过程中数据丢失。需要提醒用户使用mysqldump或者直接复制数据目录。然后,停止MySQL服务,使用systemctl stop mysqld命令。接着,要下载正确的离线安装包,确保是5.7.44的bundle包。可能需要检查官方或可靠的源来获取正确的rpm包。 卸载旧版本的时候需要注意,不能直接删除所有MySQL相关的包,否则可能导致依赖问题。应该使用rpm -e按顺序卸载,可能需要先查看已安装的包,然后逐个卸载。安装新版本的时候,按照依赖顺序安装common、libs、client、server等rpm包。 安装完成后,启动服务可能会遇到问题,比如数据目录是否需要更新,或者配置文件是否有变动。可能需要运行mysql_upgrade来升级系统表,处理兼容性问题。此外,权限问题也可能出现,需要确保数据目录的权限正确,尤其是从旧版本升级时,文件属组和权限可能需要调整。 用户可能还会关心如何验证升级是否成功,可以通过mysql -V查看版本,或者登录后执行SELECT VERSION();。另外,设置自启动也是必要的,使用systemctl enable mysqld确保服务在重启后自动运行。 还要注意,如果用户之前有自定义的配置文件,如my.cnf,需要检查是否与新版本兼容,避免配置冲突导致服务启动失败。最后,提醒用户测试应用程序是否兼容新版本的MySQL,确保业务正常运行。 可能用户没有提到的是,升级过程中是否需要处理InnoDB或其他存储引擎的变更,或者是否有已知的问题在5.7.44版本中需要注意。查阅MySQL的官方升级文档会有帮助,应该建议用户参考官方指南以确保正确性。 总之,步骤大致是备份、停止服务、卸载旧包、安装新包、处理数据、启动服务、验证版本和测试。需要详细说明每一步的具体命令和可能遇到的问题,确保用户能够顺利升级。</think>以下是Linux环境下离线升级MySQL5.7.44版本的详细步骤: ### 一、准备工作 1. **数据备份** 使用mysqldump进行全量备份: ```bash mysqldump -u root -p --all-databases > /path/to/backup.sql ``` 同时建议备份数据目录: ```bash systemctl stop mysqld cp -r /var/lib/mysql /var/lib/mysql_backup ``` 2. **下载安装包** 从MySQL官网下载对应版本的bundle包: `mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar` 需确认系统架构(通过`uname -m`检查) ### 二、卸载旧版本 ```bash # 查看已安装的MySQL组件 rpm -qa | grep mysql # 按顺序卸载(示例) rpm -e mysql-community-server-5.7.35-1.el7.x86_64 rpm -e mysql-community-client-5.7.35-1.el7.x86_64 rpm -e mysql-community-libs-5.7.35-1.el7.x86_64 rpm -e mysql-community-common-5.7.35-1.el7.x86_64 ``` ### 三、安装新版本 ```bash # 解压安装包 tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar # 按顺序安装 rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm ``` ### 四、数据迁移与配置 1. **恢复数据目录** ```bash systemctl stop mysqld rm -rf /var/lib/mysql/* cp -r /var/lib/mysql_backup/* /var/lib/mysql/ chown -R mysql:mysql /var/lib/mysql ``` 2. **升级系统表** ```bash mysqld --upgrade=FORCE ``` ### 五、启动服务 ```bash systemctl start mysqld systemctl enable mysqld # 设置开机自启[^1][^2] ``` ### 六、验证升级 ```bash mysql -V # 应显示5.7.44 mysql -u root -p -e "SELECT VERSION();" ``` ### 常见问题处理 - **错误:数据目录权限问题** 执行`chown -R mysql:mysql /var/lib/mysql` - **错误:表结构不兼容** 使用`mysql_upgrade -u root -p --force`
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值