MySQL 中三个常见的问题解决

重置 root 用户密码

因为长时间未使用 MySql 导致忘记了 root 密码,现在将修改 root 用户密码的方法记录下来。

修改配置

vi /etc/my.cnf

[mysqld] 中添加 skip-grant-tables

例如:

[mysqld]
skip-grant-tables
datadir=/var/lib/MySQL
socket=/var/lib/mysql/mysql.sock

重启mysql

service mysql restart

用户无密码登录

mysql -uroot -p (直接点击回车,密码为空)

选择数据库并修改密码

use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;

删除并重启 mysql 服务

这个时候发现,确实可以用新的密码登录了, 但是操作的时候会提示: ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这是因为少了一步修改导致,执行下面的命令进行修改:

alter user 'root'@'localhost' identified by 'youpassword';

执行的时候发现会提示一个新的报错: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements ,经过搜索,发现是因为密码有要求导致,可以选择使用一个包含大小写字母、数字和符号的密码,也可以选择更新一个简单的密码:

set global validate_password_policy=0;

这次密码的问题就彻底解决了。

报错 10060

除了可能是因为用户权限不足外,还有可能是服务器不允许请求 3306 端口,需要在服务器管理中,增加入站规则,允许 3306 端口即可。

具体的位置在:

服务器管理 => 高级安全 Windows 防火墙 => 入站规则 => 新建规则 => 端口3306 => 允许连接

清理连接数

在管理 MySQL 服务器的过程中,会出现连接时间过长的问题,分析之后发现主要是之前写的操作 MySQL 的程序未正常结束,导致资源占用过高。

这时可以使用以下的方案进行自理:

show status like 'Threads%';
show variables like '%max_connections%';
show global status like 'Max_used_connections';
show status;
show processlist;
show OPEN TABLES where In_use > 0;

这时可以找到真正占用数据库资源的进程,然后使用 kill <process id> 结束掉进程。

Author
Tags
总结(3) Emacs(2) org mode(4) 年度清单(2) 读书清单(2) 电影清单(2) 电视清单(2) Python(3) 学习计划(1) 子弹笔记(1) 手帐体系(1) 时间管理(1) 时间使用效率(1) 形意拳(1) 知识管理(1) 简历(1) 技能水平(1) 生活(1) 减法生活(1) 阅读(1) 阅读分组(1) org(1) docx(1) markdown(2) cmder(1) 图床(1) jsdelivr(1) github(1) 安卓系统(1) 手动更新手机系统(1) post link(1) post path(1) hexo(2) hugo(2) GitHub Pages(1) travis(1) 自动部署博客(1) presentation(1) gcc(1) g++(1) 默认表格(1) 复杂表格(1) multimd table(1) google adsense(1) evil(1) surround(1) librime(2) emacs-rime(1) liberime(1) dot(1) graphviz(1) use-sub-superscripts(1) ditaa(1) Evil Multiple cursors(1) turn evil mode off(1) modifier keys(1) keymap(1) super(1) hyper(1) install Emacs(1) Mac OS(1) keybinds(1) clocktable(1) coding system(1) image library(1) keybind(1) spacemacs(1) org babel(1) homebrew(1) dd(1) diskutil(1) tmux(1) xcode(1) xcrun(1) node-gyp(1) tar(1) tree(1) pacman(1) plantuml(1) find(1) grep(2) du(1) apt-get(1) apt(1) regex(1) wildcard(1) zsh(1) gdb(1) lsof(1) netstat(1) rebase(2) workflow(1) 工作流(1) .gitignore(1) postbuffer(1) hung up(1) merge(1) cache(1) reset(1) Git(1) command(1) submodule(1) GitHub Pull Request(1) pr(1) Matplotlib(1) beautifusoup(1) 下载小说(1) SOLID(1) Leetcode(2) 透视表(1) read_excel()(1) pandas(1) conda(1) django(1) markdown-deux(1) mysql(1) oracle(1) 模糊查询(1) logging level(1) reflex(1) Field(1) Maven(1) Selenium(1) 下拉框(1) select into(1) insert into select(1) CAST(1) CONVERT(1) timestamp(1) concat(1) concat_ws(1) group_concat(1) union(1) grant privileges(1) 重置 root 密码(1) 报错 10060(1) 清理连接数(1) create user(1) set password(1) exists(1) in(1) markdown-it(1) emoji(1) tasks(1) valine(1) Code 504(1) Hugo(1) theme(1) substring(1) indexOf(1) RegExp(1) 定位节点(1) 正则匹配(1) async(1) 异步请求(1) css(2) layui(1) 滚动条(1) JavaScript(1)