菜单

Administrator
发布于 2022-02-28 / 529 阅读
1

mysql常用知识

一.基本

linux下登录

输入下面指令,后输入密码。

mysql -u root -p

二.查询当前所有数据库

show databases;

选择待操作的数据库

use 数据库名;

查询当前数据库的所有表

show tables;

创建数据库

create database 数据库名;

退出登录

exit;

三.开放和关闭远程连接

开放

mysql>use mysql;
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>quit

关闭

mysql>use mysql;
mysql>update user set host = 'localhost' where user ='root';
mysql>flush privileges;
mysql>quit

四.导入和导出sql

导出库

输入下面指令,然后输入数据库密码就可以导出对应的sql文件

mysqldump -u root -p 数据库名 > dbname.sql

导出表

输入下面指令,然后输入数据库密码就可以导出对应的sql文件

mysqldump -u root -p 数据库名 表名 > tablename.sql

导入sql文件

先登录,后选择对应要导入的数据库,没有则手动创建。

source 导入的路径.sql

如果上面的指令提示语法错误,则在外部直接导入。
其中detection为要导入的数据库的名称。

mysql -uroot -p -Ddetection < /opt/gbServer/123.sql

五.mysql服务启动时卡在启动中

针对的是windows mysql5.7.msi 安装版本

直接cmd(管理员)执行taskkill/f /t /im mysqld.exe杀死mysql,任务管理器服务中显示的状态就是停止中了。

然后就可以在任务管理器服务中右键启动或者执行net start XXX启动 (XXX为服务名,一般为MYSQL57)。

参考

修改msyql的my.ini文件后重启mysql服务,服务无法启动
https://blog.csdn.net/sumjob/article/details/124887425
MySQL服务正在启动或停止中,请稍候片刻后再试一次【解决方案】
https://blog.csdn.net/qq_42319677/article/details/120532192

六.mysql永久配置最大连接数

针对的是windows mysql5.7.msi 安装版本

直接使用set global max_connections=500;重启后会失效,修改C:\ProgramData\MySQL\MySQL Server 5.7\my.ini中的max_connections=151为500,保存重启mysql服务即可。

注意:要注意my.ini编码问题,不要被坑了,参考以下的文章
http://me.heawill.top/archives/mysql-de-yi-xie-te-shu-wen-ti

七.找到mysql的配置文件my.ini

针对的是windows mysql5.7.msi 安装版本

win+r运行services.msc,找到mysql的服务,右键属性,可以看到my.ini的路径了。
一般默认路径在D:\ProgramData\MySQL\MySQL Server 5.7\my.ini

八.修改密码

set password for root @localhost = password('HQ@luhua123');

登录执行以上语句,然后重新登录即可。

九.mysql8导入mysql5.7的问题

会提示:Unknown collation: 'utf8mb4_0900_ai_ci'

处理方式为打开需要导入的sql文件:
1.utf8mb4_0900_ai_ci全部替换为utf8_general_ci
2.utf8mb4替换为utf8

linux下快速替换:
sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' sql文件路径
sed -i 's/utf8mb4/utf8/g' sql文件路径