mysql -u root mysql_输入命令mysql -u root -p 报错

查看 Linux 操作系统是否已经安装了 MySQL

$ rpm -qa mysql

mysql-4.1.7-4.RHEL4.1

# 说明已经安装了 MySQL

检查状态检测 MySQL 运行状态:

service mysqld status

启动服务:可以用三种方法来启动 MySQL:

方法一:使用 service 命令启动 MySQL:

service mysqld start

方法二:使用 mysqld 脚本来启动 MySQL:

/etc/init.d/mysql start

方法三:使用 safe_mysqld 实用程序启动 MySQL 服务,此方法可以使用相关参数:

safe_mysqld& //使用&表示将safe_mysqld放在后台执行。

登陆

修改密码

mysqladmin -u root password

mysqladmin -u root password 'kaishi'

这里的“密码”为我们欲新设的密码。系统会提示我们输入旧密码(若是 MySQL 刚安装,则默认密码为空)

如果本机可以登陆了,但是其他机器的客户端登陆报错。比如:

ERROR 1130 (00000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQ

L server

则首先查看了 iptables 的设置,确认开放了 3306 端口:

iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT

iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT

service iptables save

如果还是无法访问,则可能是 MySQL 的权限问题。则可以通过如下步骤排查:

在本机登录

mysql -h localhost -u root -pkaishi

show databases;

use mysql;

select Host, User, Password from user;

+-----------------------+------+-------------------------------------------+

| Host | User | Password |

+-----------------------+------+-------------------------------------------+

| localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A |

| localhost.localdomain | root | |

| localhost.localdomain | | |

| localhost | | |

+-----------------------+------+-------------------------------------------+

可以看到如上结果,只有 localhost 才设置了访问的权限。

进入 MySQL ,创建一个新用户 user :格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码"。

grant select,update,insert,delete on easyview.* to sillycat@192.168.10.103 identified by "kaishi";

查看结果,执行:

use mysql;

select host,user,password from user;

可以看到在user表中已有刚才创建的user用户。host字段表示登录的主机,其值可以用IP,也可用主机名,将host字段的值改为%就表示在任何客户端机器上能以user用户登录到mysql服务器,建议在开发时设为%。

修改了权限后需要执行如下语句生效:

update user set host = '%' where user = 'sillycat';

flush privileges;

登录 MySQL 服务器时,`mysql -u root -p` 和 `mysql -h 127.0.0.1 -u root -p` 或者 `mysql -h localhost -u root -p` 都是非常常见的命令组合,它们的作用略有差异,以下是详细解释: --- ### **1. mysql -u root -p** 这条是最基本、最常见的登录 MySQL 命令- 它表示以 `root` 用户身份尝试连接本地的 MySQL 实例。 - 默认情况下会自动识别为通过 `localhost` 连接,并使用默认端口 (通常是 3306)。 - 执行完此命令后,系统会让你手动输入密码(出于安全考虑)。 **特点:** - 使用 socket 文件连接到本地 MySQL 服务实例,而不是 TCP/IP 方式。 - 更加高效,在某些配置下性能更高。 #### 示例: ``` $ mysql -u root -p Enter password: ********* Welcome to the MySQL monitor... ``` --- ### **2. mysql -h 127.0.0.1 -u root -p 和 mysql -h localhost -u root -p** 这两种方式都指定了 `-h` 参数用于明确主机地址: - **`mysql -h 127.0.0.1 -u root -p`**: 强制通过 IP 地址 (`127.0.0.1`) 表示本机,并采用 TCP/IP 协议进行通信。 - **`mysql -h localhost -u root -p`**: 类似于上一条命令,但是这里的 `localhost` 可能会被解析为基于 Unix Socket 的连接(取决于操作系统和 MySQL 设置)。如果是 Windows,则始终是 TCP/IP。 **区别总结:** | 特性 | `mysql -u root -p` | `mysql -h 127.0.0.1 -u root -p` | |------------------|---------------------------------------|-------------------------------------------| | 主机指定 | 默认值 | 明确指向 `127.0.0.1` | | 连接协议 | Socket 文件 | TCP/IP | 通常来说,如果你在调试过程中遇到权限问题,比如无法从远程客户端访问 MySQL 数据库时,可以通过强制指定 `-h 127.0.0.1` 来确认是不是因为绑定到了特定地址而导致的问题。 --- ### 小贴士 有时由于安全策略或其他原因导致只允许一种类型的连接方式,此时就需要选择对应的命令来进行测试了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值