From bf0febbfc1e98e532afa1ba39927577401bcb65f Mon Sep 17 00:00:00 2001 From: 15860593862 <[200~11814869+wang-weibinfly@user.noreply.gitee.com~> Date: Wed, 3 Jul 2024 21:36:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20240701_MySQL\345\256\211\350\243\205.md" | 74 ++++++++++++++++++ ...34\347\250\213\350\256\277\351\227\256.md" | 47 +++++++++++ .../20240703_postgrepsql.md" | 77 +++++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 "\347\216\213\345\250\201\346\226\214/20240701_MySQL\345\256\211\350\243\205.md" create mode 100644 "\347\216\213\345\250\201\346\226\214/20240702_MySQL\350\277\234\347\250\213\350\256\277\351\227\256.md" create mode 100644 "\347\216\213\345\250\201\346\226\214/20240703_postgrepsql.md" diff --git "a/\347\216\213\345\250\201\346\226\214/20240701_MySQL\345\256\211\350\243\205.md" "b/\347\216\213\345\250\201\346\226\214/20240701_MySQL\345\256\211\350\243\205.md" new file mode 100644 index 0000000..5fe001d --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240701_MySQL\345\256\211\350\243\205.md" @@ -0,0 +1,74 @@ +## 安装MySQL + +1. scp -r C:\Users\20168\Downloads\mysql-apt-config_0.8.30-1_all.deb root@192.168.92.13:/root + +2. apt install gnupg + +3. dpkg -i mysql-apt-config_0.8.29-1_all.deb + +4. apt update + +5. apt install mysql-server + +6. ``` + systemctl status mysql 查看服务状态 + ``` + +7. mysql -uroot -p : 登录 + + + +## 题目 + +1. #### 如果我有一个sql的文件,如何在服务器中执行,以便导入数据 + + - 上传到服务器上(记住所在路径) + - 进入MySQL,使用source 绝对路径 + + + +2. #### 创建和插入一个至少有1000W条记录的数据库表,无论用什么方式 + + - create database wwb1; + + use wwb1; + + create table t1 ( + + id int auto_increment primary key, + + Name varchar(255), + + age int + + ); + + + + DELIMITER $ + + create PROCEDURE kk() + + BEGIN + + DECLARE i int DEFAULT 1; + + while (i <=10000000) DO + + ​ insert into t1 (Name,age) values (CONCAT('Name',i),RAND() * 100); + + ​ set i=i+1; + + end while; + + END$ + + + + CALL kk(); + + - scp 上传到服务器上 + + - 进入数据库 + + - source 绝对路径 diff --git "a/\347\216\213\345\250\201\346\226\214/20240702_MySQL\350\277\234\347\250\213\350\256\277\351\227\256.md" "b/\347\216\213\345\250\201\346\226\214/20240702_MySQL\350\277\234\347\250\213\350\256\277\351\227\256.md" new file mode 100644 index 0000000..19bd5de --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240702_MySQL\350\277\234\347\250\213\350\256\277\351\227\256.md" @@ -0,0 +1,47 @@ +## 设置MySQL,使可以远程访问 + +1. mysql -uroot -p : 进入数据库 + +2. use mysql; : 切换为MySQL数据库 + +3. 查询信息 + + ``` + select user,host from user; + +------------------+-----------+ + | user | host | + +------------------+-----------+ + | mysql.infoschema | localhost | + | mysql.session | localhost | + | mysql.sys | localhost | + | root | localhost | + +------------------+-----------+ + 4 rows in set (0.00 sec) + + host字段中,localhost表示只允许本机访问 + ``` + +4. 实现远程连接,可以将root用户的host改为% + + ``` + update user set host="%" where user="root"; + ``` + +5. flush privileges : 使本次修改立即生效 + + + +6. ``` + ststemctl status firewalld --- 查看防火墙是运行 + firewall-cmd --add-port=3306/tcp --permanent -- 添加需要开放的端口 + firewall-cmd --reload -- 重新载入添加的端口 + firewall-cmd --query-port=3306/tcp -- 查询端口是否开启 + ``` + +7. sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT -- 开放5432端口 + +8. 使用服务器的话还需要开启安全组 + +9. 测试能否远程登录: + + mysql -h 1IP地址 -u root -P3306 -p \ No newline at end of file diff --git "a/\347\216\213\345\250\201\346\226\214/20240703_postgrepsql.md" "b/\347\216\213\345\250\201\346\226\214/20240703_postgrepsql.md" new file mode 100644 index 0000000..698e158 --- /dev/null +++ "b/\347\216\213\345\250\201\346\226\214/20240703_postgrepsql.md" @@ -0,0 +1,77 @@ +## 安装postgresql + +1. apt install -y postgresql-common + +2. ``` + /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh 点回车 + ``` + +3. apt install postgrepsql + +4. 进入postgresql:su postgres + +5. psql + +6. \l:列出当前所有数据库 \c:连接数据库 \dt:查看数据库 + + + +## 远程登录 + +删除postgres密码:sudo passwd -d postgres + +更改postgres密码:sudo -u postgres passwd + +``` +修改密码 +sudo -u postgres psql +ALTER USER postgres WITH PASSWORD 'postgres'; +``` + +1. vim /etc/postgresql/版本号/main/postgresql.conf + +2. 找到#listen_addresses = 'localhost' 取消注释,改为listen_addresses = '*' + +3. vim /etc/postgresql/16/main/pg_hba.conf + +4. 在文件末尾添加以下行,允许所有IP地址通过密码连接:host all all 0.0.0.0/0 md5 + +5. sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT -- 开放5432端口 + +6. 服务器需要设置安全组端口 + +7. ``` + ststemctl status firewalld --- 查看防火墙是运行 + firewall-cmd --add-port=3306/tcp --permanent -- 添加需要开放的端口 + firewall-cmd --reload -- 重新载入添加的端口 + firewall-cmd --query-port=3306/tcp -- 查询端口是否开启 + ``` + + + + + + + +## 创建1000万条数据 + +``` + +标题、内容、作者、出版时间、昵称、头像 +create database wwb; +use wwb; +create table blog ( +title varchar(255), +content varchar(255), +author varchar(255), +publishedtime timestamp, +nickname varchar(255), +avatar varchar(255) +); + + +EXPLAIN (ANALYZE, TIMING) insert into blog select generate_series(1,10000000),md5(random()::varchar),md5(random()::varchar),clock_timestamp(),md5(random()::varchar),md5(random()::varchar); + +插入时间:63.1s 55529.030 ms +``` + -- Gitee