执行mysql语句卡死

问题:执行ALTER TABLE table1 ADD COLUMN name text(10) NOT NULL;时,sql语句卡住不动,如下图:

        

思路:

       1、通过mysql日志查找原因,查log语句:select * from INFORMATION_SCHEMA.processlist where COMMAND = "Query"\G

        

       2、通过log可以看到是数据表被锁定,锁定的原因是有其他项目正连接着这个数据库,所以要更改表首先要断掉其他链接。

解决方法:

       先执行下面语句关闭指定表的连接,然后再执行上面修改表的sql语句即可,且不影响其他项目对mysql的操作。

mysql -uroot -p123456 -e 'show processlist' | awk '/table_name/{ print $1}' | xargs -i  mysql -uroot -p123456 -e 'kill {}'

 

### MySQL安装过程中设置密码卡死解决方案 当遇到MySQL安装过程中的设置密码环节出现卡死的情况时,可以尝试以下方法来解决问题。 #### 方法一:跳过权限表初始化 如果是在初次安装MySQL的过程中遇到了此问题,则可以在启动服务的时候加上`--skip-grant-tables`参数以跳过权限表的初始化[^1]。这允许管理员无需输入密码即可登录数据库并执行必要的配置更改。 ```bash mysqld --skip-grant-tables & ``` #### 方法二:修改my.cnf文件 另一种方式是编辑MySQL配置文件`/etc/my.cnf`或`C:\ProgramData\MySQL\MySQL Server X.X\my.ini`(视操作系统而定),找到[mysqld]部分,在其中加入如下两行内容后保存退出再重启服务[^2]: ```ini [mysqld] init-file=C:/mysql-init.txt # Windows路径示例;对于Linux则是绝对路径指向包含SQL命令的文本文件 ``` 创建上述指定位置下的`mysql-init.txt`文件,并写入重置root账户密码所需的SQL语句: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` #### 方法三:通过安全模式重新设定Root用户密码 还可以利用系统的恢复控制台或者单用户模式进入系统之后运行下面这条指令完成对root用户的认证信息更新操作[^3]: ```bash mysqladmin -u root password 新密码 ``` 以上三种途径均能有效处理因各种原因造成的MySQL安装期间无法正常设置初始管理账号凭证的问题。建议按照实际情况选取合适的方法来进行修复工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值