大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说MySQL学习笔记(25):常见问题,希望您对编程的造诣更进一步.
本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。
忘记roo密码
- 使用
mysqld_safe --skip-grant-tables
跳过权限系统启动服务。 - 不使用账号密码,直接使用
mysql
登录。 - 使用
UPDATE mysql.user SET authentication_string = PASSWORD("password") WHERE user = "root" [AND host = "host"]
,不能使用SET PASSWORD
,因为–skip-grant-tables会导致其失败。 - 使用
FLUSH PRIVILEGES
或重启服务后,新密码生效。
修改密码
修改密码有以下几种办法:
- `mysqladmin password “password”
SET PASSWORD [FOR user@host] = PASSWORD("password")
GRANT USAGE ON *.* TO user@host IDENTIFIED BY [PASSWORD] "password"
UPDATE mysql.user SET authentication_string = PASSWORD("password") WHERE Host = "host" AND User = "user"; FLUSH PRIVILEGES;
MyISAM存储引擎的表损坏
一张损坏的表的症状通常是查询意外中断并且能看到下述错误:
- “tbl_name.frm”被锁定不能更改。
- 不能找到文件“tbl_name.MYI”(Errcode: nnn)。
- 文件意外结束。
- 记录文件被损坏。
- 从表处理器得到错误nnn。
解决方法有:
- 使用工具:
myisamchk -r tablename
或myisamchk -o tablename
。 - 使用语句:
CHECK TABLE tablename
和REPAIR TABLE tablename
。
数据目录磁盘空间不足的问题
对于MyISAM存储引擎的表,可将表的数据文件和索引文件mv到磁盘空间充足的分区上,然后在原文件处创建符号链接。mv前必须停机或将表锁定。
对于InnoDB存储引擎的表,可以增加一个新的数据文件,具体实现方法是在参数innodb_data_file_path中增加此文件的绝对路径,如:innodb_data_file_path=/home/ibdata1:2000M;/home1/ibdata2:2000M:autoextend。
mysql.sock丢失后如何连接数据库
如果指定localhost作为主机名,则会默认使用UNIX套接字文件连接,而不是TCP/IP。通过–protocol=tcp|socket|pipe|memory选项,可以显示地指定连接协议。
访问内网数据库
通过中转服务器,使用ssh管道,或MySQL Proxy工具。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7051.html