[Exchange and share] 分享V23Beta2安装Mariadb (mysql)11.2.2最新稳定版数据库操作心得 Resolved
Tofloor
poster avatar
Jokul
deepin
2024-01-20 03:42
Author

话不多说,先上图

image.png

因为v23Beta2系统apt源内自带的版本无法初始化账号密码,网上论坛里也没有解决办法,本帖主不堪其扰呀!于是结合官网实践出了本套操作。本过程操作细细理清楚其实也没那么复杂,接下来的操作新手请严格按照帖主操作(熟练了可定制),否则可能出现意料之外的报错,如果操作环节出现问题,请追加评论提问,本帖主踩shi经验解答:

  1. 准备材料:官网下载的mariadb11.2.2版本数据库二进制压缩包(mariadb-11.2.2-linux-systemd-x86_64.tar.gz),这个官网地址一般都能访问,镜像选择国内阿里源下载更快些,点击页面download下载。

  2. 使用v23自带的归档管理器解压缩文件夹,并将解压后的文件夹命名为mysql,mysql文件夹内就是bin、docs、include等一系列文件的层级。

    image.png

  3. 在mysql文件夹层级文件管理器窗口内,右键打开终端,将mysql整个文件夹移动到/usr/local目录下

    sudo mv mysql /usr/local/
    

    正确路径如下图:
    image.png

  4. 文件位置放置正确后,接下来开始一系列的命令配置了(#号后面的会注释命令含义)

    sudo groupadd mysql #创建分组
    sudo useradd -g mysql mysql #创建用户并添加到组
    cd /usr/local/mysql #进入到mysql目录下
    sudo ./scripts/mariadb-install-db  #开始执行数据库初始化数据脚本,会在data目录里生成数据库初始文件(观察返回日志,无报错可继续执行)
    sudo chown -R root .  #赋予当前文件列表root权限
    sudo chown -R mysql data  #赋予data文件夹mysql用户权限
    
  5. 将mariadb相关脚本注册成环境变量,(例如mysql等命令)方便终端直接使用(可选操作)

    export PATH=$PATH:/usr/local/mysql/bin/ #export导入环境变量,我们常用的mysql命令都在bin目录下
    
  6. 将服务添加到自动启动

    sudo cp support-files/mysql.server /etc/init.d/mysql.server
    
  7. 将mariadb添加到系统服务,方便命令启停,以及查看状态

    sudo cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
    
  8. 将data目录添加到可读写

    sudo mkdir /etc/systemd/system/mariadb.service.d/ #创建mariadb.service.d目录层级
    sudo vi /etc/systemd/system/mariadb.service.d/datadir.conf #创建datadir.conf
    #按i键进入编辑模式,复制下面内容
    [Service]
    ReadWritePaths=/usr/local/mysql/data
    #右键粘贴,输入:wq!保存并退出文本
    sudo systemctl daemon-reload #重新加载系统服务
    
  9. 接下来就可以启动服务了

    sudo systemctl start mariadb.service  #启动服务
    #第一次启动时候,mariadb.service可能会报错提示服务被屏蔽
    #Failed to start mariadb.service: Unit mariadb.service is masked.
    sudo systemctl unmask mariadb.service #解除屏蔽,之后再start启动服务就好
    
    sudo systemctl stop mariadb.service  #停止服务
    sudo systemctl status mariadb.service  #查看服务状态,当服务启动报错时,也可以使用这个名称查看大概报错问题
    sudo systemctl enable mariadb.service  #系统级别的开启自启动,省去以后每次开电脑还要起一遍服务
    

如果服务成功启动,说明已经成功一大半了,接下来就是自定义初始化数据库,给数据库修改root密码,开启远程访问了

sudo /usr/local/mysql/bin/mariadb-secure-installation #加载数据库入门配置


1674216-20220620154723032-69882470.png

最后的最后,在重启一下数据库服务就好了,就可以快快乐乐的用工具去连接访问了。

sudo systemctl restart mariadb.service

如果没有第三方连接工具,可使用程序内命令亦可

/usr/local/mysql/bin/mariadb -uroot -p  #传统是mysql -uroot -p 因为我们没有注册环境变量,所以要找全路径启动
Reply Favorite View the author
All Replies
ThinkYoung
deepin
2024-01-20 04:11
#1

贴心好赞!👍 还是自安装包瓷实!

Reply View the author
jjcui8595
deepin
2024-01-20 06:43
#2

like

Reply View the author
sammy-621
deepin
2024-01-20 07:27
#3

感谢细心又热心的楼主

Reply View the author
阿尼樱奈奈
Moderator
2024-01-20 07:55
#4
感谢分享like
Reply View the author
乾豫恒益
deepin
2024-01-20 08:53
#5

这种教程,太好了! 比网上的教程好太多了!kissing_heart

Reply View the author
Jokul
deepin
2024-01-20 09:55
#6

该帖子是通用操作,应该在很多linux版本上都可以按步骤操作安装。

如果操作过程中,有问题,请咨询。。。

操作完整个过程细细品下来,突然发现v23Beta2 apt源内的之所以install之后无法登陆,默认密码找不到,其实都是没有执行 mariadb-install-db初始化mariadb数据库或者执行初始化出现报错了的原因,没有在mysql库内创建user表。可以手工执行初始化,赋予data读写权限。应该也是可行的(具体没有实践,各位坛友可自行摸索)

Reply View the author
牧野
deepin
2024-01-20 10:26
#7
牛逼克拉斯,我以为就我自己用不了。放弃使用了deepin了。
Reply View the author
Jokul
deepin
2024-01-20 10:34
#8
牧野
牛逼克拉斯,我以为就我自己用不了。放弃使用了deepin了。

我一直有这个困扰,之前找不到合适的解决方案; v20都正常用,到v23就歇菜了,deepin官方人员也一直回复这个软件正常使用,没有我们遇到的问题。昨晚心血来潮熬了点时间,扒了官网实践出了这一套操作流程,记录分享一下

Reply View the author
晚秋(lateautumn)
Moderator
2024-01-20 20:02
#9

学习了,谢谢分享like

Reply View the author
183******57
deepin
2024-02-29 13:16
#10

这个报错咋解决啊:

/usr/local/mysql/bin/mariadb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

Reply View the author
183******57
deepin
2024-02-29 15:42
#11
183******57

这个报错咋解决啊:

/usr/local/mysql/bin/mariadb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

已解决

Reply View the author