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

作者升级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,并回车
# 登录成功!

你可能感兴趣的:(#,MySQL,mysql,java,linux,数据库,服务器)