Open SUSE 安装MySQL

本文详细描述了在SUSELinux上安装MySQL的过程,包括卸载MariaDB、检测和卸载MySQL、下载并安装最新版本、设置root密码以及处理可能遇到的依赖问题,对C++开发中可能遇到的库问题也给出了解决方案。
摘要由CSDN通过智能技术生成

前言

看了一圈网上关于SUSE的教程实在是太少了,毕竟太小众了。这两天在安装MySQL的时候老是出问题,踩了一晚上的坑,发现其实很简单,网上看了方法大概有这几种

  • 通过Yast software management安装,但是我尝试了,Search之后没有什么结果可能是我的方法不对,搜索出的结果就跟sudo zypper se mysql的结果一样,是一些包不能够自己安装
  • 第二种就是扒拉二进制包下来安装,我反正是没看懂啊,有会的大佬教教我
  • 第三种就是rpm包,比较多的是按照这个方法来的,那么我也是用这个方法的,不过有很多的小细节需要注意一下。

1.卸载MySQL

1.1卸载MariaDB

是的没错,第一步就是卸载,因为很多linux(包括SUSE开始都会自带一些数据库,没错说的就是你MariaDB)

  • 检测Linux是否安装了MariaDB
rpm -qa | grep mariadb
  • 如果查询没有结果就是没有,如果有的-话就要将其卸掉。比如我查询到的结果为mariadb-libs-5.5.68-1.el7.x86_64.卸载:--nodeps 是 RPM 包管理器的一个选项,用于强制执行卸载操作而忽略依赖关系。通常情况下,如果你尝试卸载一个软件包,但是系统中其他软件依赖于它,系统会阻止该操作,因为这可能会导致其他软件无法正常工作。但是,使用 --nodeps 选项,你可以绕过这些依赖检查,强制执行卸载操作。
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  • 卸载完之后再查询一下看有没有保证卸载成功。

1.2如果没有MariaDB,需要卸载之前的Mysql

  1. 停止 MySQL 服务:
sudo systemctl stop mysql
  1. 查看Mysql的安装情况
rpm -qa |grep -i mysql

将查询到的rpm包卸载

rpm -e rpm包名称
  1. 删除 MySQL 相关文件和目录:
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql /usr/lib/mysql

2.下载Mysql

这个官方网站去下载对应版本的,我下载的是这个
Mysql版本

  • 下载完成之后将其解压
tar -xvf mysql-8.0.30-1.sl15.x86_64.rpm-bundle.tar

3.安装&启动Mysql

依次执行下面语句

sudo rpm -i mysql-community-common-8.0.30-1.sl15.x86_64.rpm
# 安装依赖
sudo zypper in libatomic1

sudo rpm -i mysql-community-client-plugins-8.0.30-1.sl15.x86_64.rpm

sudo rpm -i mysql-community-libs-8.0.30-1.sl15.x86_64.rpm

sudo rpm -i mysql-community-client-8.0.30-1.sl15.x86_64.rpm

sudo rpm -i mysql-community-icu-data-files-8.0.30-1.sl15.x86_64.rpm

sudo rpm -i mysql-community-server-8.0.30-1.sl15.x86_64.rpm

安装过程,可能提示没有内核头什么的,可以参考我的上一篇文章

  • 安装完成之后启动mysql
systemctl start mysql
  • 去/var/log/mysql/mysqld.log中查看生成的初始密码

    然后登录mysql即可。

补充

  • 修改root用户密码,系统初始化的密码太复杂了,想改的简单一些。

先利用root身份登录mysql

# 登录mysql
mysql -r root -p 
#随后输入密码

查看密码设置的规范
第一次可能需要你先修改密码才能执行其它命令,如果这样的话你先执行alter user 'root'@'localhost' identified by '密码';密码设置复杂一些。

mysql> SHOW VARIABLES LIKE 'validate_password%';     

这个图比较老了,左边部分字段可能不太一样,修改的时候改成和左边的一致即可。
sql密码规范

# 修改validate_password_policy参数的值(等级为0)
mysql> set global validate_password.policy=0;
# 修改密码的最小长度
mysql> set global validate_password.length=1;

#修改root密码为123456
mysql> alter user 'root'@'localhost' identified by '123456';

当然用root操作不太好,我们创建一个新用户,并授予管理员权限

  1. 以管理员身份登录 MySQL:首先,使用具有管理员权限的用户身份登录到 MySQL 服务器。
mysql -u root -p
  1. 创建新用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
  1. 给予管理员权限
GRANT SUPER ON *.* TO 'newuser'@'localhost';
# 授予新用户对某个数据库的全部权限
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
  1. 刷新权限
FLUSH PRIVILEGES;
  1. 退出 登录新用户
quit;
mysql -u newuser -p
# 输入密码 即可登陆成功

后话如果SUSE用于C++开发数据库相关,提示没有<mysql/mysql.h>,请安装libmysqld-devel库

sudo zypper install libmysqld-devel
sudo zypper in mysql-devel
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值