1. 登陆 MySQL
mysql -V // 查版本
mysql --version // 查版本
mysql -u root -p // 登录
2. MySQL 常用命令
(1)基本操作
EXIT // 退出SELECT VERSION(); // 查版本SHOW DATABASES; // 显示数据库USE xsh; // 选择数据库CREATE DATABASE xsh; // 创建数据库DROP DATABASE xsh; // 删除数据库SOURCE d:/dev/project/xsh/backend/init.sql; // 执行外部的 sql 文件DESC users; // 查看表的结构
(2)列表显示
// 列表显示SHOW TABLES; // 显示表格SELECT * FROM users; // 查看表中所有数据SELECT name, age FROM users; // 查看表中特定列的数据SELECT * FROM users WHERE age > 18; // 查看符合条件的数据SELECT * FROM users ORDER BY age DESC; // 查看数据并排序SELECT * FROM users LIMIT 10; // 查看数据并限制返回的行数SELECT DISTINCT city FROM users; // 查看去重后的数据SELECT city, COUNT(*) FROM users GROUP BY city; // 查看数据并分组SELECT name AS 用户名, age AS 年龄 FROM users; // 查看数据并使用别名SELECT users.name, orders.order_id
FROM users
JOIN orders ON users.id = orders.user_id; // 查看数据并连接多个表SELECT name, age, age * 12 AS 月龄 FROM users; // 查看数据并计算SELECT name, age FROM users WHERE age > 18 ORDER BY age DESC LIMIT 10;
(3)列表操作
CREATE TABLE table_name (column1 datatype,column2 datatype,...
); // 创建表DROP TABLE table_name; // 删除表DESCRIBE table_name; // 显示表结构RENAME TABLE old_table_name TO new_table_name; // 重命名表SELECT column1, column2, ...
FROM table_name
WHERE condition; // 查询数据INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...); // 插入数据UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition; // 更新数据DELETE FROM table_name
WHERE condition; // 删除数据
(4)索引操作
CREATE INDEX index_name
ON table_name (column1, column2, ...); // 创建索引DROP INDEX index_name ON table_name; // 删除索引
(5)用户和权限管理
SELECT Host, User FROM mysql.user WHERE User = 'root'; // 查看用户CREATE USER 'root'@'111.222.333.444' IDENTIFIED BY '123456'; // 创建用户GRANT ALL PRIVILEGES ON *.* TO 'root'@'111.222.333.444' WITH GRANT OPTION; // 授权用户FLUSH PRIVILEGES; // 刷新授权DROP USER 'root'@'111.222.333.444'; // 删除用户ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码'; // 修改密码
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; // 创建用户GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host'; // 授予权限REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host'; // 撤销权限DROP USER 'username'@'host'; // 删除用户
(6)其他常用命令
SELECT USER(); // 查看当前用户SELECT DATABASE(); // 查看当前数据库SELECT VERSION(); // 查看 MySQL 版本
(7)事务管理
START TRANSACTION; // 开始事务COMMIT; // 提交事务ROLLBACK; // 回滚事务
(8)备份与恢复
mysqldump -u username -p database_name > backup_file.sql # 备份数据库mysql -u username -p database_name < backup_file.sql # 恢复数据库
(9) 远程连接
# 1. 检查网络稳定性(持续ping测试)
ping 111.222.333.444# 2. 检查完整MySQL连接(使用mysql客户端)
mysql -h 111.222.333.444 -u root(用户名) -p# 3. 如果使用旧客户端,尝试指定认证插件
mysql --default-auth=mysql_native_password -h 111.222.333.444 -u root(用户名) -p
sudo systemctl start firewalld # 立即启动sudo systemctl enable firewalld # 设置开机自启sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放 3306 端口sudo firewall-cmd --reloadsudo firewall-cmd --list-ports
# 或
sudo firewall-cmd --list-all