当前位置:   article > 正文

树莓派安装配置 MySQL

没有可用的软件包 mysql-server,但是它被其它的软件包引用了

树莓派安装配置 MySQL

这里我们安装的是 MySQL57 版本

安装 MySQL

首先我们要考虑使用命令安装 MySQL:

sudo apt-get install mysql-client mysql-server

但是在树莓派最新版系统中会报错如下:

  1. 正在读取软件包列表... 完成
  2. 正在分析软件包的依赖关系树... 完成
  3. 正在读取状态信息... 完成
  4. 没有可用的软件包 mysql-server,但是它被其它的软件包引用了。
  5. 这可能意味着这个缺失的软件包可能已被废弃,
  6. 或者只能在其他发布源中找到
  7. 没有可用的软件包 mysql-client,但是它被其它的软件包引用了。
  8. 这可能意味着这个缺失的软件包可能已被废弃,
  9. 或者只能在其他发布源中找到
  10. E: 软件包 mysql-client 没有可安装候选
  11. E: 软件包 mysql-server 没有可安装候选

这个错误是由于在新版的树莓派系统中,已经用 MariaDB 代替了我们 MySQL,并且 MariaDB 完全兼容 MySQL 的 APi,所以我们这里直接选择安装 MariaDB 即可

安装 MariaDB

首先我们要确定版本对应关系,这里我们需要使用的是 8.0 以上,或者 5.7 版本的 MySQL,MariaDB 与 MySQL 版本对应关系如下:

所以这里我们选择安装 10.0 或者 10.4 版本的 MariaDB,但是由于最新版的树莓派系统中智能够安装 MariaDB 10.5 版本,所以我们直接安装 MariaDB 10.5

直接使用安装命令:

sudo apt-get install mariadb-server-10.5

MariaDB 使用说明

首先我们按照 MySQL 的方式进行登录:

mysql -u root -p

这里会出现报错:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

这里说明我们没有权限,所以我们在登录命令前加上 sudo 即可,这样我们就可以成功登录了,这里我们可以使用与 MySQL 一样的命令

MariaDB 配置开机启动

首先我们需要将数据库配置为开机启动,直接使用如下命令即可:

  1. systemctl restart mariadb.service #启动程序
  2. systemctl enable mariadb.service #设为开机自启动

设置 root 账号密码

  1. sudo mysqladmin -u root -p password
  2. # 这里会要求输入三次密码
  3. Enter password: #输入原来的密码,没有密码直接按回车跳过
  4. New password: #输入新密码
  5. Confirm new password: # 确认新密码,一定要与上面输入的新密码完全一致

创建新账号

在登录到数据库后,建立新用户、设定密码与登陆位置示例如下:

  1. select user(); #查看当前登录用户
  2. use mysql
  3. select host,user,password from user; #查看数据库所有登录范围、用户和密码,4 个root 不是同一个用户,可以单独设置密码
  4. create user uos@'localhost' identified by '123456'; #建立可以本地登录的用户uos 并设置密码123456
  5. create user uos@'%' identified by '123456'; #建立可以远程登录的用户uos并设置密码123456
  6. create user test@'localhost' identified by '123456'; #建立可以本地登录的用户test并设置密码123456
  7. create user test@'192.168.200.10' identified by '123456'; #建立可以从192.168.200.10 主机登录的用户test 并设置密码123456
  8. grant all on *.* to uos@'localhost'; #授权本地登录的用户uos 对所有数据库的所有表有所有权限
  9. grant select on scott.* to test@'localhost'; #授权本地登录的用户test 可以读取scott 数据库的所有表
  10. grant all on *.* to uostest@'%' identified by '123456'; #可以建立用户、授权、设置密码一起做
  11. flush privileges; #刷新授权表
  12. show privileges; #查看所有权限
  13. show grants for uos@'localhost'; #查看用户权限
  14. show grants for test@'localhost';
  15. revoke select on scott.* from test@'192.168.200.10'; #收回权限

MariaDB 忘记 root 密码怎么办?

这里我们修改配置文件即可

  1. vim /etc/mysql/mariadb.conf.d/50-server.cnf
  2. # 在 mysqld 下添加如下字段
  3. [mysqld]
  4. skip-grant-tables #在[mysqld]下添加此字段,进入但用户模式

重启服务

systemctl restart mariadb.service

然后不需要密码就可以登录数据库,登录后执行如下命令:

  1. use mysql
  2. update user set password=password('uos') where user='root';

然后再把我们开头添加的那句话删掉就可以

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/232237
推荐阅读
相关标签
  

闽ICP备14008679号