登录MySQL后默认密码登录时的-bash: syntax error near unexpected token '('报错
在刚安装完成msyql之后,由于是在vmware的Linux系统中安装的MySQL,所以会自动为我们生成密码,此时需要使用指令或者查看日志文件找到默认的密码:grep 'password' /var/log/mysqld.log |head -n1或者直接查看日志文件 :vi /var/log/mysqld.log然后使用MySQL的登录指令登录:mysql -uroot -p查...
·
在刚安装完成msyql之后,由于是在vmware的Linux系统中安装的MySQL,所以会自动为我们生成密码,此时需要使用指令或者查看日志文件找到默认的密码,系统密码如下图:
grep 'password' /var/log/mysqld.log |head -n1
或者直接查看日志文件 :
vi /var/log/mysqld.log
然后使用MySQL的登录指令登录:
mysql -uroot -p查看到的密码
可以查看到,MySQL为我生成的密码中带有左括号“(”,由于Linux5中对左括号敏感,所以会有如下报错信息:
-bash: syntax error near unexpected token '('
报错原因主要就是因为密码中包含左括号,楼主此时也百度了一些帖子,例如:
tables=\(AUDIT_RESULT,ORGANIZATION_CENTER\)
tables="(AUDIT_RESULT,ORGANIZATION_CENTER)"
两种解决问题的思路一个是通过转译(,另一个是通过对密码内容添加双引号,都没用,下面来看下我的解决方法
解决:
先进入MySQL的配置文件中添加:skip-grant-tables
作用是忽略登录密码
进入指令:vi /etc/my.cnf
重启MySQL
systemctl restart mysqld
登录MySQL:
mysql -uroot -p
就可以直接进入了
使用mysql数据库
use mysql
刷新数据库表:
flush privileges;
将数据库中user表中root账号的密码修改:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
如果看到OK的提示那就成功了
再次进入 /etc/my.cnf 配置文件中修改mysql为需要密码登录
vi /etc/my.cnf
重启MySQL,使其生效
systemctl restart mysqld
登录:
mysql -uroot -p新密码
******************* 2019110更新 *****************
可以使用指令 mysql -uroot -p
先进入到输入密码的界面,再输入带有特殊字符的密码同样可以进入列表
搞定
更多推荐
已为社区贡献2条内容
所有评论(0)