首页 > 数据库 >linux下mysql升级

linux下mysql升级

时间:2023-09-08 16:59:15浏览次数:49  
标签:mysql data MySQL 升级 user linux local usr

在 Ubuntu/Debian、CentOS/RHEL 系统上,你可以使用不同的命令来查看 Linux 系统的版本信息。

1. 查看 Ubuntu/Debian 版本:
```
lsb_release -a
```

或者
```
cat /etc/os-release
```

这些命令将输出包含系统版本信息的文本,其中包括发行版名称、发行版版本和系统内核版本等。

2. 查看 CentOS/RHEL 版本:
```
cat /etc/redhat-release
```

这个命令将直接输出 CentOS 或 RHEL 的版本信息。

除了上面这些命令外,你还可以使用以下命令来获取系统内核版本:

```
uname -a
```

这个命令将输出包含内核版本的详细信息。

请根据你所使用的具体 Linux 发行版本选择适当的命令查看系统版本信息。

 

一、卸载旧版本升级

要将 Linux 的 MySQL 升级到 5.7.43 版本,可以按照以下步骤进行:

1. 首先,登录到 Linux 服务器,并使用 root 用户或具有管理员权限的用户执行以下命令来确保系统更新到最新状态:
```
sudo yum update
```

2. 备份你的 MySQL 数据库以防止意外数据丢失。你可以使用 mysqldump 命令将数据库导出到一个备份文件中:
```
mysqldump -u <用户名> -p <数据库名> > backup.sql
```

3. 停止正在运行的 MySQL 服务。根据你的 Linux 发行版,执行适当的命令:
```
sudo service mysql stop # Ubuntu/Debian
sudo systemctl stop mysqld # CentOS/RHEL
```

4.备份数据库数据

cp -r /usr/local/mysql/data/data_label /home/data_label

4. 移除旧版的 MySQL。如果你之前是使用 yum 或 apt 安装了 MySQL,可以运行以下命令卸载旧版本:
```
sudo yum remove mysql mysql-server # CentOS/RHEL
sudo apt remove mysql mysql-server # Ubuntu/Debian

sudo rm -rf /usr/local/mysql*
```

5. 下载并安装 MySQL 5.7.43 版本。你可以从 MySQL 官方网站下载适用于你的 Linux 发行版的二进制文件。
```
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
tar -xzf /home/mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
sudo mv /home/mysql-5.7.43-linux-glibc2.12-x86_64 /usr/local/mysql
```

6. 创建 MySQL 用户和组,并设置适当的权限:
```
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo chown -R mysql:mysql /usr/local/mysql
```

7. 初始化 MySQL 数据库:
```

cd /usr/local/mysql/bin

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/  --user=mysql --pid-file=/usr/local/mysql/data/mysql.pid --initialize

初始化完成之后,输出的日志最后一行会有

 root@localhost: PASSWORD

或者输入cat /data/mysql/mysql.err查看临时密码

初始化完成之后查看日志,可获取初始密码

cat /usr/local/mysql/data/mysqld.log

 

 

恢复备份数据库数据

cp -r /home/data_label /usr/local/mysql/data/data_label


```

8. 启动 MySQL 服务:
```

把启动脚本放到开机初始化目录

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动mysql

service mysql start

修改密码

# 进入目录
cd /usr/local/mysql
# 登录 然后输入初始密码
./bin/mysql -u root -p
# 重置密码

 


mysql> set password=password('root');
mysql> grant all privileges on *.* to root@'%' identified by 'root';
mysql> flush privileges;

update mysql.user set authentication_string=password('新的密码') where user='root' AND host='localhost';

update mysql.user set authentication_string=password('新的密码') where user='root' AND host='%';


# 添加远程访问权限
mysql> use mysql;

update mysql.user set host='%' where user = 'root';
mysql> update mysql.user set host='%' where user = 'root';
mysql> flush privileges;

delete from mysql.user where user = 'root' and host='localhost';

mysql> flush privileges;

#查看用户列表

SELECT User, Host FROM mysql.user;

添加一个用户 test 并授权通过本地机(localhost)访问,密码"password"。

grant all privileges on *.* to test@localhost identified by 'password' with grant option

刷新刚才的内容*

flush privileges

5.查看用户

select host,user from mysql.user

 


# 退出登录
mysql> exit;
# 重启mysql生效
service mysql restart

 使用show global variables like 'port';命令查看端口号

```

10. 完成升级后,可以将之前备份的数据库还原回新版本的 MySQL:
```
mysql -u <用户名> -p <数据库名> < backup.sql
```

完成上述步骤后,你的 Linux 系统上的 MySQL 数据库应该已经成功升级到 5.7.43 版本。

请注意,在执行任何数据库升级操作之前,建议先在测试环境中进行测试,并确保你的应用程序兼容新的 MySQL 版本。此外,备份数据是非常重要的,以防意外发生。

备份数据库数据

cp -r /usr/local/mysql/data/data_label /home/data_label

  1. 第五步查看升级之后的版本
mysqld -V
./mysqld -V
./mysql -V
./bin/mysql -V
SELECT VERSION();

#启动mysql

service mysql start

#查看mysql运行状态

service mysql status

# 重启mysql生效
service mysql restart

标签:mysql,data,MySQL,升级,user,linux,local,usr
From: https://www.cnblogs.com/wjsqqj/p/17688013.html

相关文章

  • mysql explain
    MYSQLExplain解析explain说明用于查看sql语句都执行计划,可以看到sql语句都执行了哪些索引,以及执行的顺序等等。主要作用是优化sql语句,提高sql语句的执行效率。|id|select_type|table|type|possible_keys|key|key_len|ref|rows|Extra|idse......
  • MySQL面试题
    1、MySQL的复制原理以及流程(1)、复制基本原理流程主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;2.从:io线程——在使用startslave之后,负责从master上拉取binlog内容,放进自己的relaylog中;3.从:sql执行线程——执行relaylog中的语句;(2)、MyS......
  • MySQL group_concat() 函数用法
    MySQLgroup_concat()函数用法在使用groupby对数据进行分组后,如果需要对select的数据项进行字符串拼接,这时就需要用到group_concat()函数。1、基本用法group_concat()完整语法如下:group_concat([DISTINCT]要连接的字段[OrderBY排序字段ASC/DESC][Separator'分......
  • github操作小白手把手教程|Linux从远程项目拉取到本地并更新代码上传到远程
    当你在github或者团队中需要用github管理项目时,没有接触过github的人如何从0开始配置电脑连接github远程仓库,并把项目中的代码拉取到本地电脑中,然后进行修改并上传到远程项目中实现项目管理。一、Linux连接github安装git打开终端sudoapt-getupdatesudoapt-getinstallgi......
  • Linux软件安装与依赖问题
    apt与yum大部分时间,在Linux发行版中安装软件使用的是apt(Ubuntu),yum(CentOS)。这两个软件都是高级的软件包管理工具,在使用它们安装软件的时候,会自动解决软件包的依赖关系,可以从指定的软件库获取软件包和其依赖项,并自动进行下载、安装、更新。rpm与dpkg它们都用于直接操作软件包......
  • mac & linux 安装oh my zsh
    1、先执行安装命令mac安装zsh命令brewinstallzshlinux安装  zsh命令sudoapt-getinstallzsh2、安装、切换ohmyzshsh-c"$(curl-fsSLhttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"chsh-s/bin/zsh3、安......
  • linux c++ tcp
    1.TCP/IP协议栈链路层:负责下图所示物理链接标准IP层(网络层):选择合适的路径传输数据,无法解决数据传输错误问题,所以需要TCP/UDP协议作为保障TCP/UDP(传输层):IP层(网络层)解决传输路径问题,确定了路径,就进行传输数据,IP层只关注一个数据包如何进行传输,至于传输过程数据包是否损坏,传输......
  • Mac 终端登陆MySQL出现“zsh:command not found: mysql”的问题
    mysql明明安装好了,而且也登陆使用过了,但是这次在终端登陆却报错这个问题。其实上次也报错这个一样的问题,我觉得可能是环境配置没有弄好,重新检查和source生效了下(source~/.bash_profile),此时mysql能正常登陆了;但是退出终端后再次登陆又会报同样的问题。感觉不对劲了,只能生效一次......
  • 迅为RK3588在 Linux 系统中使用 NPU
    下载rknpu2并拷贝到虚拟机Ubuntu,RKNPU2提供了访问rk3588芯片NPU的高级接口。下载地址为“iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\12_NPU使用配套资料\01_rknpu2工具”对于RK3588来说,Linux平台RKNNSDK库文件为librknnrt.so,RK3588平台RKNNSDK包......
  • 迅为RK3588在 Linux 系统中使用 NPU
     下载rknpu2并拷贝到虚拟机Ubuntu,RKNPU2提供了访问rk3588芯片NPU的高级接口。下载地址为“iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\12_NPU使用配套资料\01_rknpu2工具”对于RK3588来说,Linux平台RKNNSDK库文件为librknnrt.so,RK3588平台RKNNSD......