前提条件
-
MySQL已安装
若未安装,执行以下命令:# Ubuntu/Debian sudo apt update && sudo apt install mysql-server # CentOS/RHEL sudo yum install mysql-server sudo systemctl start mysqld
-
确保MySQL服务运行
sudo systemctl status mysql # 检查状态 sudo systemctl start mysql # 若未运行则启动
进入MySQL的3种常用方式
使用root用户登录(推荐)
sudo mysql -u root -p
-u root
:指定用户名(root可替换为其他账户)。-p
:提示输入密码(输入时密码不可见)。- 注意:在Ubuntu系统中,安装后默认通过
sudo mysql
可直接免密登录root账户(安全策略差异)。
指定主机和端口登录
mysql -u 用户名 -p -h 主机地址 -P 端口
- 示例(连接远程数据库):
mysql -u admin -p -h 192.168.1.100 -P 3306
-h
:数据库服务器IP(默认localhost
)。-P
:端口号(默认3306)。
在命令中直接输入密码(不推荐,仅测试用)
mysql -u root -p密码 # 注意:-p和密码间无空格
⚠️ 安全警告:密码会暴露在终端历史记录中,存在泄露风险!
常见问题解决
Q1:登录报错”Access denied”
- 原因:密码错误或用户无权限。
- 解决:
- 重置root密码(需停止MySQL服务):
sudo systemctl stop mysql sudo mysqld_safe --skip-grant-tables & mysql -u root
- 在MySQL中执行:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; EXIT;
- 重启MySQL:
sudo systemctl restart mysql
- 重置root密码(需停止MySQL服务):
Q2:命令未找到”mysql: command not found”
- 原因:MySQL客户端未安装或路径未包含。
- 解决:
# 安装MySQL客户端 sudo apt install mysql-client # Ubuntu/Debian sudo yum install mysql # CentOS/RHEL
Q3:无法连接远程数据库
- 步骤检查:
- 确认远程MySQL允许外部访问(检查
bind-address
在/etc/mysql/mysql.conf.d/mysqld.cnf
中是否为0.0.0
)。 - 用户需有远程权限:
CREATE USER '用户'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO '用户'@'%'; FLUSH PRIVILEGES;
- 防火墙放行端口:
sudo ufw allow 3306/tcp # Ubuntu sudo firewall-cmd --add-port=3306/tcp --permanent # CentOS
- 确认远程MySQL允许外部访问(检查
安全建议
- 避免使用root账户:日常操作创建普通用户,最小权限分配。
- 密码保护:
- 不在命令行直接输入密码。
- 定期更换密码(MySQL中执行):
ALTER USER '用户'@'localhost' IDENTIFIED BY '新密码';
- 退出MySQL:执行
EXIT;
或Ctrl+D
。
进入MySQL数据库的核心命令是mysql -u 用户名 -p
,结合系统权限和服务状态管理即可完成操作,对于生产环境,务必遵循最小权限原则并定期备份数据,若需深入配置(如SSL加密、用户权限管理),请参考MySQL官方文档。
引用说明:本文操作基于MySQL 8.0及主流Linux发行版,参考MySQL官方手册MySQL 8.0 Reference Manual和Linux系统管理最佳实践,安全建议遵循OWASP密码策略指南。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5742.html