问题:通过远程连接mysql命令mysql -h192.128.xx.xxx -usjzt -p 报错ERROR 2026 (HY000): SSL connection error: unknown error number,如何解决?
解决:临时关闭 SSL 连接
方法:
mysql -h192.128.xx.xxx -usjzt -p --ssl-mode=DISABLED
问题:通过远程连接mysql命令mysql -h192.128.xx.xxx -usjzt -p 报错ERROR 2026 (HY000): SSL connection error: unknown error number,如何解决?
解决:临时关闭 SSL 连接
方法:
mysql -h192.128.xx.xxx -usjzt -p --ssl-mode=DISABLED
问题:ubuntu2404使用命令安装mysql8,默认root无密码,如何解决?
方法:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;
拓展:
php7.2连接不上mysql8,也是这样解决
问题:按名称排序,如果名称是数字时,10比2排在前面
解决:order by 时name+1
方法:
select * from classes order by name+1 asc, id asc limit 0, 10;
注:增加“id asc”是因为防止order by和limit一起使用时出错排序错乱
问题:数据量大,分页查询时卡顿,如何解决?
解决:通过join方式,先查询主键,再查询内容
方法:
offset_num = (page - 1) * pagesize
sub_q = select(
User.id).filter_by(**obj_get).order_by(
User.id.asc()).offset(
offset_num).limit(pagesize).subquery()
q = select(
User.uid, User.username, User.fullname, User.national_id, User.phone, User.email,
User.gender, User.last_login, User.status, User.create_time,
User.expire_time).join(sub_q, User.id == sub_q.c.id)
r = await db.execute(q)
return r.all()
问题:数据库中出现好多重复数据,现在需要只保留最先的一条数据
方法:
SELECT
*
FROM
table_name AS ta
WHERE
ta.唯一键 <> ( SELECT max( tb.唯一键 )
FROM table_name AS tb
WHERE ta.判断重复的列 = tb.判断重复的列 );