设置mysql密码时,因使用了特殊字符,登录mysql时,报错:
bash:!@#:event not found
mysql无法登录,只能更改密码了。
1、打开/etc/my.cnf配置文件,找到[mysqld]段加上一句skip-grant-tables
# vim /etc/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-grant-tables
skip-locking
2、保存退出
3、重启mysql
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4、登录mysql
#mysql
5、mysql> UPDATE user SET Password = password ( 'new password' ) WHERE User = 'root' ;
6、mysql> flush privileges ;
7、mysql> quit
8、打开my.cnf配置文件
# vim /etc/my.cnf
将刚才在[mysqld]中添加的skip-grant-tables删除
重新启动mysqld
# /etc/init.d/mysqld restart
使用更改的新密码即可正常登录mysql。