一:尝试执行mysql根目录的文件
阿里云LAMP 6.1.0,mysql 5.7 的根目录文件为/usr/local/mysql/bin/mysql
如果出现以下报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
说明:mysql客户端已经正常了,只是被mysqld拒绝访问了。您之前是不是改过环境变量,绝对路径可以执行,单独执行mysql就不行是环境变量有误。
进行下一步
二:修改环境变量
修改下root目录下的/root/.bash_profile(修改前做好文件备份)
修改如下:
PATH=$PATH:$HOME/bin
PATH=$PATH:/usr/local/mysql/bin
export PATH
三:执行mysql
设置环境变量后直接执行mysql就可以,您可以执行 mysql -uroot -p回车,之后输入数据库的root密码,看是否可以登录成功。
四:输入mysql的随机密码
在/root/env.txt 文件中
五:退出mysql
mysql > exit;
mysql > quit;
mysql > \p;
************************追加一下************************
之后过了一周时间:
mysql之前用了一周,但今天在使用过程中,正在建表的时候突然自己退了出来,再使用mysql -uroot -p 便提示-bash: mysql: command not found.找不到该命令了。
解决方案如下:
修改/etc/profile文件:
在profile文件的最后加上mysql的真实安装路径。
PATH=$PATH:$HOME/bin
PATH=$PATH:/usr/local/mysql/bin
export PATH
最后:执行 命令source /etc/profile 使其修改生效,执行完可通过echo $PATH命令查看是否添加成功
提醒一下:对于涉及到文件操作,磁盘扩容,磁盘重置,磁盘更换,配置调整等操作,建议先通过控制台手动创建快照,以免误操作带来的数据丢失风险。
之后查询了一下,供大家参考:
Linux系统下将php和MySQL命令加入到环境变量中的方法
方法一:直接运行命令export PATH=$PATH:/usr/local/webserver/php/bin 和 export PATH=$PATH:/usr/local/webserver/mysql/bin
使用这种方法,只会对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。
方法二:执行vi ~/.bash_profile修改文件中PATH一行,将/usr/local/webserver/php/bin 和 /usr/local/webserver/mysql/bin 加入到PATH=$PATH:$HOME/bin一行之后
这种方法只对当前登录用户生效
方法三:修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/bin
export PATH
******************************************************
至于问题原因:可能是由于更改系统环境变量后,系统根据配置的系统变量无法查找到此命令的缘故。
也可能是由于上面所说的:方法二只对当前登录用户生效(可我也没有换用户的呀,就是在mysql中新建了个数据库,使用了该库,正在建表时,就退出来了,这也算是切换了用户吗?也希望有大神留言截之疑惑)
******************************************************
附加:
登录Mysql:“输入mysql -uroot -p -P3306 -h127.0.0.1”
表示超级用户名root,密码稍后输入,端口号3306(不输入P,默认为3306)
主机地址127.0.0.1(若使用本机作为主机,h默认127.0.0.1)