ubuntu普通用户安装mysql并导入sql文件数据

ubuntu version: 16.04.7
mysql version: 5.7.32

目的:服务器安装实施记录,下次有需要备查。

1. 安装mysql

1.1. 安装mysqlServer

# 更新软件源
sudo apt-get update
# 安装mysql
sudo apt-get install mysql-server

安装过程中会出现图形化界面设置mysql的root用户密码并确认。(如“123465”)

1.2. 安装依赖包

sudo apt-get install libmysqlclient-dev

1.3. 修改配置文件(允许远程)

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释下面一行:
bind-address = 127.0.0.1
# 或改为如下:
bind-address = 0.0.0.0

1.4. 重启mysql服务

/etc/init.d/mysql restart
# 查看3306端口服务(mysql服务默认端口)
netstat -nlp | grep 3306

2. 创建数据库及用户

2.1. 登录mysql

mysql -uroot -p123456
show databases;
# 创建数据库
create database test2020;
# 创建用户myuser,并允许远程访问数据库test2020的所有内容,同时设置密码
GRANT ALL PRIVILEGES ON test2020.* TO myuser@"%" IDENTIFIED BY "myuser123"; 

3. 导入.sql数据文件

mysql -umyuser -pmyuser123 
# 查看数据库
show databases;
# 使用数据库(选择数据库以后才能导入数据)
use test2020;
# 导入数据
source filepath.sql;
# 查看数据
show tables;

4. 快速导入.sql数据文件

# 使用root用户,给myuser用户使用file权限
GRANT FILE ON *.* TO 'myuser'@'%';
# 查看secure_file_priv,默认none不开启,或者有限定的路径
show global variables like '%secure_file_priv%';
# 修改/etc/mysql/my.cnf文件
# 添加两行:(取消路径限定)
[mysqld]
secure_file_priv=''
# 重启mysql
service mysql restart
# 导入数据[数据在客户端]
load data local file 'filename.sql' into table tablename character set utf8;
# 导入数据[数据在服务器]
load data file 'filename.sql' into table tablename character set utf8;

5. 解决sql数据文件格式问题

5.1. tab分隔

# data1.sql数据文件内容
234 abc d test
44 absc b test2

数据以tab分隔,可以直接使用load data local file 'data1.sql' into table tablename;

5.2. 逗号分隔

# data2.sql数据文件内容
234,abc,d,test
44,absc,b,test2

数据以逗号分隔,可以直接使用load data local file 'data2.sql' into table tablename fields terminated by ",";

5.3. 字段有引号

# data3.sql数据文件内容
"234" "abc" "d" "test"
"44" "absc" "b" "test2"

数据字段有引号,可以直接使用load data local file 'data3.sql' into table tablename fields enclosed by '"';

5.4. insert命令

# data4.sql数据文件内容
INSERT INTO `table1` VALUES (123, 12344, 0, 0, 'abc');
INSERT INTO `table1` VALUES (649, 4511, 0, 0, 'abcd');

可以先将文件做一下转换,生成新文件data4_new.sql

cut -d '(' -f 2 data4.sql  | cut -d ')' -f 1 |sed  "s/'//g"  > data4_new.sql
# data4_new.sql数据文件内容
123, 12344, 0, 0, abc
649, 4511, 0, 0, abcd

然后再导入:load data local file 'data4_new.sql' into table tablename fields terminated by ", ";


20210719更新

6. 批量导入多个.sql文件

创建load_all_file.sql文件,在文件中添加所有需要导入的.sql文件名,如下:

source /filepath/file1.sql;
source /filepath/file2.sql;
source /filepath/file3.sql;
...

在mysql命令行,直接执行source load_all_file.sql;即可。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要在Ubuntu系统中导入SQL文件,可以使用以下步骤: 1. 打开终端并登录到MySQL控制台。 2. 创建一个新数据库(如果还不存在)。 3. 选择要导入数据数据库。 4. 运行“source”命令并指定SQL文件的路径。 5. 等待导入完成。 6. 在MySQL控制台中,可以使用“show tables”命令来查看已导入的表。 ### 回答2: 在Ubuntu系统中,使用MySQL导入SQL文件的过程如下: 1. 打开终端,并登录MySQL。 可以通过以下命令登录MySQL: sudo mysql -u root -p 输入管理员密码之后,就可以登录MySQL。 2. 创建一个数据库,并选择使用该数据库。 可以使用以下命令创建数据库: CREATE DATABASE database_name; 其中,database_name为你要创建的数据库名。 创建完成后,可以使用以下命令选择该数据库: USE database_name; 3. 导入SQL文件。 可以使用以下命令导入SQL文件mysql -u username -p database_name < file.sql 其中,username为你的MySQL用户名,file.sql为你要导入SQL文件名。 如果SQL文件中包含创建数据库的语句,则可以省略第二步,直接使用以下命令导入SQL文件mysql -u username -p < file.sql 输入管理员密码后,导入过程就会开始。该过程可能需要一些时间,具体取决于SQL文件的大小和复杂性。导入完成后,MySQL会返回一条成功的消息。 以上就是在Ubuntu系统中使用MySQL导入SQL文件的过程。注意,如果在导入过程中出现了错误,应该仔细检查SQL文件是否正确,并尝试重新导入。 ### 回答3: Ubuntu是一种广泛使用的Linux操作系统,而MySQL是一个流行的关系型数据库管理系统。在Ubuntu上将.sql文件导入MySQL可以使用命令行使用以下步骤完成: 1.打开终端并运行以下命令安装MySQL: sudo apt-get update sudo apt-get install mysql-server 2.安装完成后,您可以使用以下命令启动MySQL服务: sudo systemctl start mysql 3.使用以下命令可以检查是否启动了MySQL服务,如果状态为active,则表示服务已启动: sudo systemctl status mysql 4.接下来,您需要登录MySQL,可以使用以下命令: mysql -u root -p 5.在输入密码后,您将进入MySQL控制台。使用以下命令创建一个新的数据库(如果您已经有一个数据库,请跳过此步骤): CREATE DATABASE testdb; 6.使用以下命令选择要使用的数据库: USE testdb; 7.执行以下命令从SQL文件导入数据: SOURCE /path/to/file.sql; (请将“/path/to/file.sql”替换为实际路径和文件名) 8.导入完成后,可以使用以下命令查看导入数据: SELECT * FROM table_name; (请将“table_name”替换为实际表名) 就这样,您已经成功将.sql文件导入MySQL。如果您遇到任何问题,请查阅MySQLUbuntu的相关文档并仔细检查您的命令输入。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值