MariaDB是MySQL的直接替代品。它致力于成为寻求强大,可扩展且可靠的SQL Server的数据库专业人员的合理选择。本指南将帮助初学者在Debian 9(Stretch)上安装和配置MariaDB。
注意: 本指南中所需的步骤需要root权限。请务必
root
使用sudo前缀执行以下步骤。有关权限的更多信息,请参阅我们的用户和组指南。
在本节中,您将安装MariaDB并设置MariaDB root用户的密码。MariaDB维护一个shell脚本,该脚本自动设置必要的软件包存储库。
安装完成后,Debian将启动MariaDB服务器,并将服务设置为在重启时自动启动。
在本节中,您将学习如何连接到MariaDB并执行基本的SQL命令。
(none)
MariaDB提示中的文本。它将用于显示当前工作数据库。由于您尚未选择任何数据库,因此显示为(none)
。CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO testuser@localhost;
FLUSH PRIVILEGES;
quit
最后一行从MariaDB注销root用户。
CREATE TABLE products (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), price DECIMAL(6,2));
INSERT INTO products (name, price) VALUES ('MacBook Pro', 1600.0);
INSERT INTO products (name, price) VALUES ('Dell', 850.0);
INSERT INTO products (name, price) VALUES ('Acer', 775.0);
有关SQL命令的更多信息,请参阅MariaDB知识库中的SQL命令页面。要从客户端查看MariaDB的命令列表,请键入:
\h
输出:
MariaDB [(none)]> \h
General information about MariaDB can be found at
http://mariadb.org
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
For server side help, type 'help contents'
要配置MariaDB以您希望的方式运行,请编辑该/etc/mysql/my.cnf
文件。此文件控制大多数服务器系统变量,您通常希望将其保留为默认设置。
无论何时进行更改/etc/mysql/my.cnf
,请通过发出以下命令重新启动服务器:
service mysql restart
MariaDB建议您通过执行以下命令来保护安装:
mysql_secure_installation
系统将要求您更改root密码,删除匿名用户,禁用localhost之外的root登录,并删除测试数据库。对于所有问题,建议您回答Y.
本节将演示如何允许先前创建的用户testuser远程连接到MariaDB(默认情况下,MariaDB将仅允许来自localhost的连接)。
警告将MariaDB服务器打开到互联网会降低安全性。如果需要从localhost以外的其他位置进行连接,请确保实施仅允许来自特定IP地址的连接的防火墙规则。
/etc/mysql/my.cnf
文件并编辑bind-address
变量以侦听所有网络接口:
/etc/mysql/my.cnf1
bind-address = 0.0.0.0MySQL Tuner是一个有用的工具,它连接到正在运行的MariaDB实例,并根据工作负载提供配置建议。在运行调谐器之前,您应该让MariaDB实例运行至少24小时。实例运行的时间越长,调谐器提供的建议就越好。
如果您忘记了root密码,请按以下步骤重置密码:
skip-grant-tables
设置启动服务器,以便您可以在没有密码的情况下登录MariaDB:
mysqld_safe --skip-grant-tables --skip_networking &有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。
更多教程请前往腾讯云+社区学习更多知识。
参考文献:《https://www.linode.com/docs/databases/mariadb/mariadb-setup-debian/》