安装mysql后:1.启动mysql服务报错 2.修改密码报错

博主在升级MySQL5.5到5.7后遇到了启动服务报错和修改密码报错两个问题。针对启动服务报错,原因是3306端口被占用,通过查看日志和端口状态,然后杀死进程并重启服务解决了问题。对于密码修改报错,是因为数据结构变化,使用`mysql_upgrade`命令升级数据库并重新设置密码解决了这个问题。最后,测试确认密码设置成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者升级mysql5.5到5.7后,遇到两个报错,开始填坑。

1. 启动mysql服务报错

执行 service mysqld start ,报错:

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

1)查看日志,只看error

cat /var/log/mysqld.log

发现:

 [ERROR] Can’t start server: Bind on TCP/IP port: Address already in use
 [ERROR] Do you already have another mysqld server running on port: 3306

翻译:端口被占用,你是否已运行了其它的mysqld服务占用了3306

2)查看端口情况

netstat -apn | grep 3306

发现:

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      7461/mysqld

解决:

kill 7461
service mysqld restart

2. 修改密码时报错

执行 set password for 'root'@'localhost' =password('root'); 报错:

ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50568, now running 50737. Please use mysql_upgrade to fix this error.

1)因手动升级mysql后,数据结构发生变化,须通过指令升级

mysql> quit
mysql_upgrade
service mysqld restart

此时作者窗口返显:

Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
mysql_upgrade: (non fatal) [ERROR] 1728: Cannot load from mysql.proc. The table is probably corrupted
mysql_upgrade: (non fatal) [ERROR] 1545: Failed to open mysql.event
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.host                                         OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
Upgrading the sys schema.
Checking databases.
sys.sys_config                                     OK
Upgrade process completed successfully.
Checking if update is needed.

2)初次安装mysql,登录数据库直接enter不用输密码

mysql -u root -p
# 直接按回车
mysql> set password for 'root'@'localhost' =password('root');
# 设置数据库用户root的密码为root

3)测试登录密码

mysql> exit
mysql -u root -p
Enter password:
# 输入root,并回车
# 登录成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹长大大

客官,赏个银子吧,别下次一定了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值