零 概述
本文将介绍如何以非 root 身份安装运行 MySQL 8.0.12,并使用 Shell 命令操作数据库及将 txt 文件中的数据导入到 MySQL 表中
一 安装包前准备
# 获取安装包
wget https://mirrors.qiql.net/pkgs/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
# 解压
tar -xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
# 重命名【可选】
mv mysql-8.0.12-linux-glibc2.12-x86_64/ mysql-8.0.12
# 进入MySQL目录并创建data目录用于存放数据文件
cd mysql-8.0.12 && mkdir data
在mysql-8.0.12目录下创建配置文件 my.conf
填写以下内容:
[mysqld]
port=3336
basedir=/to/your/path/mysql-8.0.12
datadir=/to/your/path/mysql-8.0.12/data
pid-file=/to/your/path/mysql-8.0.12/mysql.pid
socket=/to/your/path/mysql-8.0.12/mysql.sock
log_error=/to/your/path/mysql-8.0.12/error.log
server-id=100
secure_file_priv=/to/your/path/file # 此字段定义的是允许mysql从何目录读取数据文件【可选】
二 安装MySQL
-
进入MySQL目录:
cd /to/your/path/mysql-8.0.12
-
初始化MySQL:
bin/mysqld \ --defaults-file=/to/your/path/mysql-8.0.12/my.conf \ --initialize \ --user=user \ --basedir=/to/your/path/mysql-8.0.12\ --datadir=/to/your/path/mysql-8.0.12/data
-
启动MySQL:
bin/mysqld_safe \ --defaults-file=/to/your/path/mysql-8.0.12/my.conf \ --user=user &
-
查看MySQL数据库root账号的初始密码:
cat error.log | grep root@localhost
-
登录Mysql:
bin/mysql -u root -p -S /to/your/path/mysql-8.0.12/mysql.sock
-
修改密码:
alter user 'root'@'localhost' identified with mysql_native_password by '123456'; #建议添加with mysql_native_password参数,此选项可以允许使用shell进行MySQL数据库操作
-
刷新权限:
flush privileges;
-
查看 MySQL 端口:
show global variables like 'port';
-
查询外部文件允许导入目录:
show variables like “secure_file_priv”;
三 Shell 命令操作数据库
-
通过 Shell 将 txt 文件的数据导入数据库:
cd /to/your/path/mysql-8.0.12 ./bin/mysqlimport --fields-terminated-by=',' --lines-terminated-by='\n' --ignore-lines=1 --user=root --password=123456 数据库名 --local /to/your/path/xxx.txt -S /to/your/path/mysql-8.0.12/mysql.sock # 在此命令中,以逗号为每一列的分隔符,以换行为每一行的分隔符,并忽略掉txt文本中的第一行。
-
通过 Shell 执行 MySQL 命令(以清空 INFO 数据库的 studnet 表数据为例):
cd /to/your/path/mysql-8.0.12 ./bin/mysql -h 127.0.0.1 -P 3336 -u root -p'123456' --execute='use INFO;TRUNCATE TABLE student;' --default-character-set=UTF8 -S /to/your/path/mysql-8.0.12/mysql.sock
评论区