diff --git "a/\351\251\254\345\255\220\350\266\212/20240701-\345\234\250Linux\344\270\212\345\256\211\350\243\205MySQL.md" "b/\351\251\254\345\255\220\350\266\212/20240701-\345\234\250Linux\344\270\212\345\256\211\350\243\205MySQL.md" new file mode 100644 index 0000000000000000000000000000000000000000..4a91fa5c1833f5620740d55358233ddfaaffb039 --- /dev/null +++ "b/\351\251\254\345\255\220\350\266\212/20240701-\345\234\250Linux\344\270\212\345\256\211\350\243\205MySQL.md" @@ -0,0 +1,57 @@ +## 首先查看Mysql是否安装 + +``` +systemctl status mysql +``` + +- 图片中提示`Unit mysql sevice could not be found`表示没有安装 + ![alt text](https://img.picui.cn/free/2024/07/01/6682a83b5ceeb.png) +- 进入Mysql官网`https://www.mysql.com/cn/downloads` +- 安装社区版:`Mysql communtiy Dounloads---MySQL APT Repository---Download---No thanks, just start my download` + +``` +MySQL Yum Repository 适用于红帽子系列的操作系统:RHEL、Centos(Centos Stream)、Fedaro +MySQL APT Repository 适用Debian系列的操作系统:Debian、Ubuntu、KLinux +MySQL SUSE Repository SUSE德国的Linux发行版本 +``` + +- linux系统安装软件通常有哪些方式: + 包管理器 压缩包安装 编译安装 + +## 将软件源加入到软件源地址 + +- 登入Tabby终端 将下载好的deb包安装存放到root账户(两种:1)Linux本机下载 - wget [http://mysql...)](https://gitee.com/link?target=http%3A%2F%2Fmysql...%EF%BC%89) + +``` +ssh root@IP地址 +scp mysql-apt-config_0.8.30-1_all.deb root@IP地址:/root --非Linux本机下载(下载以后使用scp上传到指定目录) +dpkg -i mysql-apt-config_0.8.30-1_all.deb +``` + +- 这里会提示未安装 GNUPG`gnupg is not installed.`需要先安装 + +``` +apt install gnupg -y +``` + +当在安装过程中遇到多个配置文件报错时 需要重启非常的不好 遇到这个问题的原因是网络无连接 我们可以在当前服务器ping一下baidu.com 可以看到无法ping通(记得按ctrl+c退出否则一直ping)再到本机的终端(开始+R cmd进入终端)可以看到本地是可以连接到的那么就只`需要配置网卡信息(vim /etc/network/interface)将网关修改重启(reboot)` + +``` +dpkg -i mysql-apt-config_0.8.30-1_all.deb --再来一次就进入到了Mysql的安装页面 +``` + +- 选择`MySQL Server & Cluster (Currently selected: mysql-8.4-lts)----mysql-8.4-lts` + +![alt text](https://img.picui.cn/free/2024/07/02/6683a8736ce90.png) ![alt text](https://img.picui.cn/free/2024/07/02/6683a8bc0ed1f.png) + +## Linux上安装 MySQL + +``` +apt update --更新系统软件源 +apt upgrade -y --更新系统版本 + +apt install mysql-server --安装Mysql +本地连接数据库 mysql -u root -p +查看所有的数据库 show detabases; +``` + diff --git "a/\351\251\254\345\255\220\350\266\212/20240702-MySQL\347\233\270\345\205\263\345\221\275\344\273\244.md" "b/\351\251\254\345\255\220\350\266\212/20240702-MySQL\347\233\270\345\205\263\345\221\275\344\273\244.md" new file mode 100644 index 0000000000000000000000000000000000000000..4b9f8e8ba69bf9d3dfac1a98b4d65c7c6c93c262 --- /dev/null +++ "b/\351\251\254\345\255\220\350\266\212/20240702-MySQL\347\233\270\345\205\263\345\221\275\344\273\244.md" @@ -0,0 +1,27 @@ +## 数据库的增删改查 + +``` +注意在MySQL环境下的所有命令都要带上分号符 +mysql -u root -p --登入Mysql账户 +create database 库名; --创建数据库 +show databases; --查看数据库 +use 库名; --切换数据库 +create table 表名; --创建表 +show table; --查看表 +dorp database 库名; --删除数据库 +select * from user; --查询user表中所有数据 +delete from user; --删除表user所有数据,不改变其表结构 +insert into user(username, password) values('lxx', '123456'); --向表user插入数据 +``` + +### 尝试设置mysql创建远程访问用户并授权,以使可以远程访问 + +``` +Linux将sql文件导入到数据库 scp 数据库文件 存放到root账户底下 +mysql -u root -p //登入到mysql +CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; +GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%'; +FLUSH PRIVILEGES; +命令sourse 导入sql文件 成功会提示Query OK +注意:如果是云服务器,需要另外在安全组中开放 3306 端口(确保防火墙的 3306 端口也开放) 如果是虚拟机上的 Linux 系统,同样需要确保防火墙开放了3306 端口 +``` \ No newline at end of file diff --git "a/\351\251\254\345\255\220\350\266\212/20240703-\345\256\211\350\243\205postgrepsql.md" "b/\351\251\254\345\255\220\350\266\212/20240703-\345\256\211\350\243\205postgrepsql.md" new file mode 100644 index 0000000000000000000000000000000000000000..4c44dcc0cae847f1608f6877ea57dc93fc69a578 --- /dev/null +++ "b/\351\251\254\345\255\220\350\266\212/20240703-\345\256\211\350\243\205postgrepsql.md" @@ -0,0 +1,66 @@ +## 安装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); + +```