1.出现如下图所示
分析原因:
1.该用户没有连接权限
解决方案:
1.连接linux服务器,mysql -u root -p 然后输入root的密码 ,如果忘记密码 ,打开etc 下面的my.cnf 即命令是 vi /etc/my.cnf
2.[mysqld]后面任意一行添加“skip-grant-tables” 然后按Esc按钮 输入 :wq! 保存并退出
3. 重启 /etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)
4. 输入 mysql -u root -p ,到输入密码时,直接Enter
5.不同版本的修改密码不同
对于5.7以下版本:
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
对于5.7及以上版本:
mysql> use mysql;
mysql> update user set authentication_string=password('123') where user='root' and host='localhost';
mysql> flush privileges;
6.修改 /etc/my.cnf 去掉 skip-grant-tables 然后重启 /etc/init.d/mysql restart 或者 /etc/init.d/mysqld restart
7.赋予连接权限 root 是 账户名称, @'要连接mysql的ip地址' ,by '要连接的用户密码'
mysql> grant all privileges on *.* to 'root'@'10.26.114.216' identified by 'pre@123';
mysql> flush privileges;
mysql>revoke all on jydb.* from `jy_test_jydb`@`%`;
mysql> flush privileges;
原因2:查看mysql连接的端口号
mysql> show global variables like 'port';
报错:Starting MySQL.The server quit without updating PID file (/[FAILED]mysql/izwz9bqg2v1h2hkjkaykklz.pid).
解决步骤:
先去找打cat /etc/my.cnf 找 my.cnf 查看 mysqld.log日志
cat /var/log/mysqld.log
看到 报如下错误:
错误13说明没有权限。使用命令
# chmod -R 777 可以解决
chmod -R 777 /usr/local/mysql/
chown -R mysql:mysql /usr/local/mysql/
chmod -R 777 /mysql/data/
chown -R mysql:mysql /mysql/data/
如果是 你把data 移动到其他盘(刚挂载的 /disk02)里面了 并且建设一个软连接
需要做如下操作 :ln -s /disk02/data /usr/local/mysql
源文件 目标文件
chmod -R 777 /disk02/data
chown -R mysql:mysql /disk02/data