在linux系统中打开mysql数据库,核心是先确保mysql服务处于运行状态,再通过客户端工具登录数据库实例,不同linux发行版的服务管理逻辑存在差异,下面分场景详细说明操作步骤。

一、检查mysql服务状态
首先需要确认当前mysql服务的运行状态,避免服务未启动导致无法连接。根据linux发行版使用的初始化系统不同,检查命令分为两类:
1. 使用systemd的系统(CentOS 7+、Ubuntu 16.04+等)
执行以下命令查看mysql服务状态:
# 查看mysql服务运行状态 systemctl status mysql # 部分发行版mysql服务名是mysqld,可尝试以下命令 systemctl status mysqld
如果输出中包含active (running)字样,说明服务已经正常运行,可以直接跳转到登录步骤。
2. 使用sysvinit的系统(CentOS 6、Ubuntu 14.04等)
执行以下命令检查服务状态:
# 查看mysql服务状态 service mysql status # 同样可尝试mysqld服务名 service mysqld status
如果输出显示服务正在运行,即可进行后续登录操作。
二、启动mysql服务
如果检查发现服务未运行,需要先启动mysql服务,同样根据初始化系统选择对应命令:
1. systemd系统启动命令
# 启动mysql服务 sudo systemctl start mysql # 若服务名是mysqld则执行 sudo systemctl start mysqld # 设置开机自启(可选) sudo systemctl enable mysql
2. sysvinit系统启动命令
# 启动mysql服务 sudo service mysql start # 或尝试mysqld服务名 sudo service mysqld start # 设置开机自启(可选) sudo chkconfig mysql on
三、登录mysql数据库
服务启动成功后,就可以通过mysql客户端登录数据库,基础登录命令格式如下:
# 基础登录命令,回车后输入密码 mysql -u 用户名 -p # 示例:使用root用户登录 mysql -u root -p
如果是首次安装mysql,部分发行版会生成临时root密码,可通过以下命令查看:
# 查看mysql临时密码(适用于部分发行版) sudo grep 'temporary password' /var/log/mysqld.log
登录成功后,终端会显示mysql的交互界面,此时可以执行sql语句操作数据库,比如查看当前所有数据库:
-- 查看所有数据库 SHOW DATABASES;
四、常见连接问题排查
如果执行登录命令后出现连接失败的错误,可参考以下思路排查:
- 确认mysql服务是否真的启动,可再次执行状态检查命令验证
- 检查登录使用的用户名和密码是否正确,密码输入时注意大小写
- 如果是远程连接mysql,需要确认mysql是否开启了远程访问权限,且防火墙放行了3306端口
- 若提示
Can't connect to local MySQL server through socket错误,可检查mysql的socket文件路径是否正确,或尝试使用mysql -h 127.0.0.1 -u root -p通过TCP方式连接
五、退出mysql数据库
操作完成后,可在mysql交互界面执行以下命令退出:
-- 退出mysql EXIT; -- 或使用简写命令 QUIT;