mysql 启动失败

一、报错信息如下:

MySQL启动报错“Bind on TCP/IP port: Address already in use”

分析原因:端口3306 被占用

ps -aux | grep mysql

发现3306 并没有被使用

使用命令:

netstat -apn|grep 3306

 

# netstat -apn | grep 3306
tcp 0 0 ::ffff:192.168.65.211:3306 ::ffff:192.168.65.211:3306 ESTABLISHED 18148/java

 

发现3306端口被PID为18148的Java进程占用。

进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明确知道3306端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

 

启动mysql ,服务正常

 

二、mysql登录:使用密码无法登录,不使用密码可以登录

 

select * from mysql.user where user='';


+-----------+------+----------+-------------+-------------+-------------+-------------+----------------+-----------+------------+-----------------+------------+------------+--------------+----------------+-----------------+------------------+------------------+----------------+--------------------+--------------+----------+------------+-------------+--------------+---------------+-----
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_pr_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Supercute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routit_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_
+-----------+------+----------+-------------+-------------+-------------+-------------+----------------+-----------+------------+-----------------+------------+------------+--------------+----------------+-----------------+------------------+------------------+----------------+--------------------+--------------+----------+------------+-------------+--------------+---------------+-----
| localhost | | | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 |
| hadoop01 | | | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 |
+-----------+------+----------+-------------+-------------+-------------+-------------+----------------+-----------+------------+-----------------+------------+------------+--------------+----------------+-----------------+------------------+------------------+----------------+--------------------+--------------+----------+------------+-------------+--------------+---------------+-----
2 、rows in set (0.00 sec)
---------------------
查询有结果,然后进行下一步。
use mysql;
delete from user where user = '';

3、删除了多余的空白账户, 然后进行下一步。
flush privileges;­

4、重载一次权限表,最后用
service mysqld restart

5、重启mysql服务,问题得到解决

 

三、主从不同步

1、主库:查看线程:
show processlist;
不是太多
2、主库:、show master status;
也正常
3、从库:
show slave status\G 
Slave_IO_Running: Yes
Slave_SQL_Running: No
 
可见是Slave不同步
方法一:忽略错误后,继续同步
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
 
解决: 
stop slave;
 
#表示跳过一步错误,后面的数字可变
set global sql_slave_skip_counter =1;
start slave;
 
之后再用mysql> show slave status\G  查看:
 
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
 
ok,现在主从同步状态正常了。。。

posted @ 2018-12-17 11:25  竹雅轩  阅读(666)  评论(0)    收藏  举报