在ArchLinux上安装mysql(MariaDB) | 保证不出错指南

1,159 阅读2分钟

在ArchLinux上安装mysql(MariaDB) | 保证不出错指南

前言

今天在做新人任务的时候需要用到数据库,但是搜索到的ArchLinux上的安装mysql教程较少,自己摸爬滚打好一会儿,所以用这篇文章记录一下,也顺便帮帮可能正在安装的朋友们(maybe)

一些试错

个人感觉,arch系统更新迭代得太快,所以很多方法可能都过时了 比如我最开始按照别人博客在命令行输入命令

 sudo pacman -S mysql

一切正常,然后输入

sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

他反馈了如下信息

mysqld: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadbd' instead

这是因为在MySql被Oracle收购之后,很多开源支持者就转而使用MariaDb了。不过MariaDb也和MySql兼容的,所以基本不用有什么担心。由于ArchLinux只带了MariaDb,所以就只能用MariaDb来代替MySql。


正确步骤

  • 安装MariaDb和其客户端工具,
sudo pacman -S mariadb mariadb-clients
  • 用接下来的命令来初始化MariaDB的数据目录
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

他给我们如下的提示信息

To start mariadbd at boot time you have to copy
support-files/mariadb.service to the right place for your system


Two all-privilege accounts were created.
One is root@localhost, it has no password, but you need to
be system 'root' user to connect. Use, for example, sudo mysql
The second is mysql@localhost, it has no password either, but
you need to be the system 'mysql' user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudo

See the MariaDB Knowledgebase at https://mariadb.com/kb

You can start the MariaDB daemon with:
cd '/usr' ; /usr/bin/mariadb-safe --datadir='/var/lib/mysql'

You can test the MariaDB daemon with mariadb-test-run.pl
cd '/usr/mariadb-test' ; perl mariadb-test-run.pl

Please report any problems at https://mariadb.org/jira

The latest information about MariaDB is available at https://mariadb.org/.

Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

  • 我们先启动MariaDB
sudo systemctl start mysqld
  • 然后用如下命令更改root用户的密码
sudo /usr/bin/mariadb-admin -u root password '******'
  • 然后我们用如下命令连接到MariaDB数据库
sudo /usr/bin/mariadb -uroot -p

输入密码之后应该就可以成功连接上数据库了

image.png

  • 如果想要数据库开机时自动启动,用如下命令
sudo systemctl enable mysqld

后续

  • 如果要以root用户身份连接到数据库,用如下命令
sudo /usr/bin/mariadb -uroot -p

注意这里输入的密码是这个系统的root用户密码,也就是你以前sudo npm安装东西的密码.如果要用你刚刚设置的密码,去掉sudo就好啦

  • 用下面的命令查看当前数据库的状态
sudo systemctl status mariadb

如果数据库正在运行你应该可以看到下面的样子 Screenshot from 2023-11-16 13-22-31.png

  • 连接上数据库之后你可以SHOW DATABASE来列出你所有的数据库

这将列出所有已安装的数据库。如果你看到一些默认的系统数据库(如mysqlinformation_schema等),那么你的数据库已经安装好啦

Screenshot from 2023-11-16 13-26-17.png