MariaDB Linux版常用命令分类整理
用于控制MariaDB服务的启动、停止、重启及状态查看,是日常运维的基础操作。
sudo systemctl start mariadb
;旧版本(如CentOS 6)可使用sudo service mariadb start
。sudo systemctl stop mariadb
,SysVinit系统用sudo service mariadb stop
。sudo systemctl restart mariadb
,SysVinit系统用sudo service mariadb restart
。sudo systemctl status mariadb
(显示“active (running)”表示运行中),SysVinit系统用sudo service mariadb status
。sudo systemctl enable mariadb
(开机自动启动);旧版本用sudo chkconfig mariadb on
。通过命令行客户端连接MariaDB服务器或退出会话。
mysql -u 用户名 -p
命令(如mysql -u root -p
),输入命令后会提示输入密码,验证通过后进入MariaDB命令行界面(提示符为MariaDB [(none)]>
)。\q
或QUIT
(大小写均可),按回车键退出会话。管理数据库的创建、删除、查看及切换。
CREATE DATABASE 数据库名;
语句(如CREATE DATABASE mydb;
),执行后会在MariaDB中创建一个空数据库。SHOW DATABASES;
语句,列出当前MariaDB实例中的所有数据库(包括系统默认的information_schema
、mysql
等)。USE 数据库名;
语句(如USE mydb;
),切换到指定数据库,后续操作将针对该数据库执行。DROP DATABASE 数据库名;
语句(如DROP DATABASE mydb;
),谨慎使用,删除后数据库及所有数据将永久丢失。管理数据库中的数据表(结构化数据容器)。
CREATE TABLE 表名 (列1 数据类型, 列2 数据类型, ...);
语句(如CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100));
),定义表的列名、数据类型及约束(如主键、自增)。SHOW TABLES;
语句,列出当前数据库中的所有数据表。DESCRIBE 表名;
或DESC 表名;
语句(如DESC users;
),显示表的列信息(包括列名、数据类型、是否允许NULL、键类型等)。DROP TABLE 表名;
语句(如DROP TABLE users;
),谨慎使用,删除后表及所有数据将永久丢失。对数据表中的数据进行增删改查(CRUD)。
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
语句(如INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');
),向表中插入一行数据。SELECT 列1, 列2, ... FROM 表名 WHERE 条件;
语句(如SELECT * FROM users;
查询所有数据,SELECT name, email FROM users WHERE id = 1;
查询指定条件的数据),检索符合条件的数据。UPDATE 表名 SET 列1 = 新值1, 列2 = 新值2, ... WHERE 条件;
语句(如UPDATE users SET email = 'new@example.com' WHERE id = 1;
),修改符合条件的数据。DELETE FROM 表名 WHERE 条件;
语句(如DELETE FROM users WHERE id = 1;
),删除符合条件的数据,谨慎使用无WHERE子句的语句,否则会删除表中所有数据。管理数据库用户账号及访问权限,保障数据安全。
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
语句(如CREATE USER 'liwh'@'localhost' IDENTIFIED BY '123456';
),创建一个仅能从本地登录的用户。GRANT 权限列表 ON 数据库.表名 TO '用户名'@'主机名';
语句(如GRANT SELECT, INSERT ON mydb.users TO 'liwh'@'localhost';
授予查询和插入权限,GRANT ALL PRIVILEGES ON *.* TO 'liwh'@'localhost';
授予所有数据库所有表的完全权限),为用户分配指定权限。SHOW GRANTS FOR '用户名'@'主机名';
语句(如SHOW GRANTS FOR 'liwh'@'localhost';
),查看用户的权限列表。REVOKE 权限列表 ON 数据库.表名 FROM '用户名'@'主机名';
语句(如REVOKE SELECT ON mydb.users FROM 'liwh'@'localhost';
),撤销用户的指定权限。SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
语句(如SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
),修改指定用户的密码。通过mysqldump
工具实现数据库的备份与恢复,防止数据丢失。
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql;
语句(如mysqldump -u root -p mydb > mydb_backup.sql;
),将指定数据库的结构和数据导出到SQL文件中。mysqldump -u 用户名 -p 数据库名 表名 > 表备份文件.sql;
语句(如mysqldump -u root -p mydb users > users_backup.sql;
),仅备份指定表的数据。mysql -u 用户名 -p 数据库名 < 备份文件.sql;
语句(如mysql -u root -p mydb < mydb_backup.sql;
),将备份文件中的数据导入到指定数据库中(需提前创建数据库)。mysql -u 用户名 -p 数据库名 < 表备份文件.sql;
语句(如mysql -u root -p mydb < users_backup.sql;
),恢复指定表的数据。