麒麟操作系统 (kylinos) 从入门到精通 - 研发环境 - 第九篇 数据库及数据库管理工具的安
1.需求背景
软件系统研发离不开数据库,数据主要又分非关系与关系数据库,本文以关系数据库mysql或mariadb为主,以及其配套管理工具。
2.管理工具
windows下,我个人主要使用navicat。而navicat没有arm的版本。而在麒麟系统下,我们可以使用dbeaver(注:从各方面来看,这个工具是基于eclipse研发)补充:麒麟应用市场中,有同类型的dbvisualizer可以使用https://dbeaver.io/ 网上找到下载地址arm版本只提供压缩包,同时在运行之前,我们需要先安装JDK,JRE,这里就直接安装default-jdk,default-jre
等jdk,jre安装完毕,启动dbeaver
3.数据库安装
我这里使用mariadb,可以通过应用市场 ,也可以通过命令行
sudo apt-get install mariadb-client mariadb-server
安装完成后,初始密码及相关信息
sudo service mysql status #确认数据库服务是否已启动
接下来根据向导一步步填入相关信息,只要记好密码(我这里设置为123456),如果不行就可以再次重新执行
sudo mysql_secure_installation
使用dbeaver连接,新建数据库连接,选择mariadb,初次连接会要求下载相关驱动(界面有提示和操作按钮)
连接成功效果图
3.1 错误1(可能出现)
mariadb启动报错:Failed to start MariaDB database server参考地址:https://serverfault.com/quest...
删除此文件夹的所有数据(如果没有存在的重要数据库) /var/lib/mysql,并重新初始化.
sudo bash
cd /var/lib/mysql
rm -rf *.*
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql #to initialize database directory.
service mysql restart #重启服务
回到正常用户(exit)下,执行
mysql_installation_secure
3.2 错误2(可能出现)
出现如下错误,尝试解决
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
查看这个文件可以看到安装后的默认密码/etc/mysql/debian.cnf,这个密码是属于debian-sys-maint的,而非root。解决办法,打开终端
sudo service mysql stop
sudo mysqld_safe --user=mysql --skip-grant-tables --skip-networking #新开一个窗口,保持这个进程运行
mysql
MariaDB [(none)]> use mysql;
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('mypassword'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
特别留意:plugin = 'mysql_native_password' 必须要这个选项,不然怎么处理都不会成功的。关闭mysql服务,可以使用ps -aux | grep "mysql" 查看相关进程,并使用kill 杀掉
重启服务:
$ service mysql stop
$ sudo service mysql start
使用mysql -u root -p 输入刚设置的密码,成功登录。
4.redis
5.mqtt
麒麟操作系统专栏:https://segmentfault.com/blog...文章发表在SegmentFault联系邮箱:1179611323@qq.com群:662512340发行日志:20220609 首发20220726 补充应用市场的dbvisualizer工具
转载自:https://segmentfault.com/a/1190000041958463