Loading... # 第九周学习日报 笔记来自云上贵猪的博客:a-hxin.cn ## MySQL服务: ## 配置MySLQ环境变量: 通过配置PATH环境变量,这样可以在任何未知直接使用命令行进行`启动MySQL服务`或`登录MySQL服务器` 环境变量格式: ``` export PATH=$PATH:路径 ``` 我当前MySQL的安装目录为:`/opt/soft/mysql-8.0.32/bin/` 使用`vi或vim`修改`~/.bash_profile:` ``` vi ~/.bash_profile //使用vi命令打开编辑 export PATH=$PATH:/opt/soft/mysql-8.0.32/bin/ //在文件末端添加 source ~/.bash_profile //使其立即生效 ``` 使用`vi或vim`修改`/etc/profile:` ``` vi /etc/profile //使用vi命令打开编辑 export PATH=$PATH:/opt/soft/mysql-8.0.32/bin/ //在文件末端添加 source /etc/profile //使其立即生效 ``` 测试,在任何位置都能启动MySQL服务和登录MySQL: ![][1] ## 登录MySQL: 用法: ``` mysql -u 用户名 -p ``` ## 将数据文件导入到 MySQL 数据库中: 例如我在mysql中有个`lib`中有个`profession` ![][2] 创建一个专门存放上传数据的目录: ```sql mkdir -p /opt/upfile //创建文件 chmod 755 /opt/upfile //授权 ``` 在`/etc/my.cnf` 添加如下命令: ```sql secure-file-priv="" ``` `重启Mysql服务:` ```sql service mysql restart ``` 在MySQL,查看本地文本插入功能启动成功没: ``` show variables like '%local_infile%'; # 若没启动改为启动 SET GLOBAL local_infile = 1; ``` 从文件导入数据到表中: ```sql load data infile '文件位置' into table 导入到什么表 fields terminated by '\t'; load data infile '/opt/upfile/data.txt' into table profession fields terminated by '\t'; ``` 查看表数据: ``` select * from 表名; ``` ## 备份数据、还原备份数据: 这个也可以说是导入导出数据,这个和上面的单文件导入不同,这个 `还原/备份(导入导出)`整个表中的所有信息。 备份数据(导出整表数据): ``` mysqldump -uroot -p 数据库名 表名 > 需要导出的位置/文件名字.拓展 例如把数据导出到 /opt mysqldump -uroot -p lib profession > /opt/out.txt ``` ![][3] 还原备份(导入整表数据): 首先创建一个数据库: ```sql create database import_table; ``` 进入数据库: ```sql use import_table; ``` 导入备份数据: ``` 用法: source 文件来源; 例如: source /opt/out.txt ``` ![][4] 查看表中的数据: ``` select * from 表名; show tables; //查看当前数据库下有哪些表 select * from profession; //查看profession中的信息 ``` ![][5] ## 拓展知识: Mysql 的bin目录中有许多工具/脚本,一下举例比较常见的。 1. `mysql`: MySQL 客户端,用于连接 MySQL 服务器并执行 SQL 语句。 ```sql 连接 MySQL 服务器:mysql -u root -p 执行 SQL 语句:mysql -u root -p dbname < /path/to/sql/file.sql ``` 2. `mysqldump`: 用于备份 MySQL 数据库。 ```sql 备份整个数据库: mysqldump -u root -p dbname > /path/to/backup/file.sql 备份单个表: mysqldump -u root -p dbname tablename > /path/to/backup/file.sql ``` 3. `mysqlshow`:用于显示 MySQL 数据库和表的信息。 ```sql 显示数据库的所有表: mysqlshow -u root -p dbname 显示表的列信息: mysqlshow -u root -p dbname tablename ``` 4. `mysqladmin`: 用于执行 MySQL 管理操作,如创建用户、创建数据库等。 ```sql 创建新的 MySQL 用户: mysqladmin -u root -p createuser newuser 创建新的 MySQL 数据库: mysqladmin -u root -p createdb newdb ``` 5. `mysqlcheck`: 用于检查和修复 MySQL 数据库中的表。 ```sql 检查和修复整个数据库: mysqlcheck -u root -p --auto-repair --check dbname 检查和修复单个表: mysqlcheck -u root -p --auto-repair --check dbname tablename ``` 6. `mysqlimport`: 用于导入数据到 MySQL 数据库中。 ```sql 导入 CSV 文件到数据库中: mysqlimport -u root -p dbname /path/to/csv/file.csv 导入数据到表中: mysqlimport -u root -p --fields-terminated-by=, --lines-terminated-by='\n' dbname /path/to/data/file.txt ``` 7. `mysqlbinlog`: 用于将 MySQL 的二进制日志转换成可读的 SQL 语句。 ``` mysqlbinlog /path/to/binlog/file > /path/to/sql/file.sql ``` 8. `mysql_upgrade`: 用于升级 MySQL 数据库的版本。 ```sql mysql_upgrade -u root -p ``` [1]: https://a-hxin.cn/usr/uploads/2023/04/2811298502.png [2]: https://a-hxin.cn/usr/uploads/2023/04/3210701081.png [3]: https://a-hxin.cn/usr/uploads/2023/04/659908510.png [4]: https://a-hxin.cn/usr/uploads/2023/04/4183953994.png [5]: https://a-hxin.cn/usr/uploads/2023/04/3337604360.png 最后修改:2024 年 01 月 24 日 © 允许规范转载 打赏 赞赏作者 赞 咱们谁跟谁,用不着~