rpm安装mysql8后碰到的问题

1 mysqld 无法启动

原因 已经使用了3306端口,修改my.cnf中端口为3308

2 修改为3308端口后,还是无法启动,

2023-10-07T02:20:10.096689Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Permission denied
2023-10-07T02:20:10.096730Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3308 ?
2023-10-07T02:20:10.096782Z 0 [ERROR] [MY-010119] [Server] Aborting

原因: selinux 要关闭

2023-10-07T02:22:50.707731Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-10-07T02:22:50.760482Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.34'  socket: '/var/lib/mysql/mysql.sock'  port: 3308  MySQL Community Server - GPL.
2023-10-07T02:22:50.760708Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock

3 登录mysql ,提示ERROR 2026 (HY000): SSL connection error: protocol version mismatch

mysql -h127.0.0.1 -P3306 -uroot -p --skip-ssl
mysql -h127.0.0.1 -P3306 -uroot -p --ssl-mode=DISABLED

4 使用上面的命令后,继续报错

ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

2023-10-07T02:41:47.510918Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.34)  MySQL Community Server - GPL.
2023-10-07T02:41:54.297163Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
2023-10-07T02:41:54.297187Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.34) starting as process 52838

问题3和问题4的原因,因为OS上安装了mysql5.7和mysql5.8. 环境变量是5.7的。所以通过5.7的mysql程序登录mysql8,会出错。使用mysql8的程序登录,即可。

不需要做任何的设置。

8.0的mysql安装在/usr/bin

5 查找mysql密码,登录后修改

[root@redhat762100 sbin]# more /var/log/mysqld.log | grep pass
2023-10-07T01:55:42.745644Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 3d9do&tfnp6P
[root@redhat762100 sbin]#

6 使用随机生成的密码,登录mysql后,无法进行相关操作 ,需要修改密码,修改密码,需要符合相关的策略。

root@db 15:12:  [(none)]> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
root@db 15:12:  [(none)]>

使用alter user 'root'@'127.0.0.1' 这种方式,居然是错误的 ,使用alter user user() 即可,但是又不符合密码策略

(unknown)@db 15:17:  [(none)]> alter user 'root'@'127.0.0.1' identified by 'mysql';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
(unknown)@db 15:17:  [(none)]>

(unknown)@db 15:17:  [(none)]> alter user user() identified by "123456";
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
(unknown)@db 15:19:  [(none)]>

https://mysql.net.cn/doc/refman/8.0/en/validate-password.html <<<< 参考

在my.cnf中设置以下参数

validate_password.length=1     <<<<<< 这个默认值是4 
validate_password.policy=0
validate_password.check_user_name=off

2023-10-07T07:35:50.610678Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-10-07T07:35:50.619460Z 0 [Warning] [MY-011234] [Server] Effective value of validate_password_length is changed. New value is 4
2023-10-07T07:35:50.656724Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2023-10-07T07:35:50.657378Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.34'  socket: '/var/lib/mysql/mysql.sock'  port: 3308  MySQL Community Server - GPL.

root@db 15:37:  [(none)]> show variables like '%validate_password_length%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| validate_password.length | 4     |
+--------------------------+-------+
1 row in set (0.01 sec)

root@db 15:37:  [(none)]>

END

相关推荐
666786662 分钟前
Mysql高级篇(中)—— SQL优化
linux·运维·服务器·数据库·sql·mysql
十年人间~3 分钟前
mysql等保数据库命令
数据库·mysql
hai41174196212 分钟前
mysql 与postgresql 的区别(gpt4)
数据库·mysql·postgresql
知识分享小能手22 分钟前
mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
大数据·开发语言·数据库·sql·学习·mysql·数据开发
冰镇毛衣43 分钟前
2.4 数据库表字段约束
数据库·sql·mysql
失心疯_20232 小时前
006.MySQL_查询数据
数据库·sql·mysql·关系型数据库·sqlyog·mysql教程·查询语句
楠枬3 小时前
MySQL数据的增删改查(一)
数据库·mysql
阿华的代码王国4 小时前
MySQL ------- 索引(B树B+树)
数据库·mysql
liupenglove5 小时前
golang操作mysql利器-gorm
mysql·golang
叫我:松哥5 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap