kunyashaw博客主页 关注kunyashaw新博客 关于kunyashaw 转到底部

linux常见软件的环境搭建

1、python环境搭建

python:
weget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -Jxvf Python-3.7.0.tar.xz

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel kernel-devel libffi-devel

 ./configure prefix=/usr/local/python3

make && make install

  

2、java环境搭建

jdk配置:

下载:
wget https://repo.huaweicloud.com/java/jdk/8u191-b12/jdk-8u191-linux-x64.tar.gz
解压
tar zxvf jdk-8u191-linux-x64.tar.gz
mv jdk1.8.0_191/ /home/webapps/java 
编辑环境配置文件
vi /etc/profile
加入以下内容
export JAVA_HOME=/home/webapps/java/
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile
echo $PATH && java -version

  

3、mysql环境搭建

centos 安装mysql 设置密码
1、安装
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
sudo yum install -y mysql-community-server

出错:源 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
 失败的软件包是:mysql-community-libs-compat-5.7.37-1.el7.x86_64
 GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决出错办法:vi /etc/yum.repos.d/mysql-community.repo 将gpgcheck设置为0


启动mysql服务:sudo service mysqld start / sudo systemctl start mysqld.service 

2、查看有没有初始化密码
grep "password" /var/log/mysqld.log

3、重启mysql服务
service mysql restart

4、mysql -u root -p
//注意:修改密码时 默认的规则是:最少1个大写 最少一个特殊字符 最少一个数字
alter user 'root'@'localhost' identified by 'kunyashaw';
flush privileges

5、外网访问
create user 'root'@'%' identified by '123';
grant all privileges on *.* to 'root'@'localhost' identified by '123';
grant all privileges on *.* to 'root'@'%' identifed by '123';
flush privileges;


6、centos mysql5.7 忘记数据库密码怎么办?
6.0、vi /etc/my.conf
在mysqld中加入一行:skip-grant-tables
6.1、mysql -uroot -p
6.2、输入你的centos的密码
6.3、UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword') WHERE User = 'root' AND Host = 'localhost';
注:如果显示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明你的密码不符合安全要求,
6.4、FLUSH PRIVILEGES;
6.5、quit;

  

4、kafka环境搭建

kafka基础安装:

1、下载:http://mirrors.hust.edu.cn/apache/kafka/2.6.0/
2、解压到指定目录
定位到/usr/local,创建kafka文件夹,进入此文件夹后解压kafka(可自行选择安装目录)
tar -xzf kafka_2.11-2.1.1.tgz
3、切换bin目录,执行脚本
cd /usr/local/kafka/kafka_2.11-2.1.1/bin/
./zookeeper-server-start.sh ../config/zookeeper.properties &

 

5、rabbitMQ环境搭建

RabbitMQ是采用Erlang语言实现AMQP协议的消息中间件,具有可靠、灵活、高可用、可扩展等诸多优点,本文将在CentOS7系统上安装并配置RabbitMQ。

安装Erlang
RabbitMQ是由Erlang语言编写的,首先需要安装Erlang。

# 安装erlang
rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
    
yum install erlang
安装RabbitMQ
# 下载rabbitmq
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm
    
# 安装rabbitmq
yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm
配置
安装完成后,启动和查看rabbitmq服务

# 启动rabbitmq服务
service rabbitmq-server start
    
# 查看rabbitmq服务状态
service rabbitmq-server status

  


6、es环境搭建

es下载:

https://www.elastic.co/cn/downloads/elasticsearch

问题1:centos: 因为es不允许root直接启动,所以创建个新用户
1、groupadd elsearch
2、useradd elsearch_zzl -g elsearch -p ciic@jzFp123 
3、su elsearch
4、启动es

问题2:
如果启动时报权限问题:
chown -R elsearch_zzl:elsearch elasticsearch-7.12.0

问题3:
max file descriptors [4096] for elasticsearch process is too low, increase t
解决max number of threads [3818] for user [es] is too low, increase to at least [4096]
编辑 /etc/security/limits.conf,追加以下内容;
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

此文件修改后需要重新登录用户,才会生效
登录后使用ulimit -S -n/ulimit -H -n查看

问题4:
 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
1、 vi /etc/sysctl.conf
2、在/etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
3、 /sbin/sysctl -p

问题5:
 the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

配置文件中 去掉cluster.initial_master_nodes: ["node-1", "node-2"]的注释

  

es集群
#集群名称
cluster.name: tsino-es-clusters
#是否有资格竞聘主节点
node.master: true
#是否存储数据
node.data: true
#配置单播发现的主节点IP地址,
discovery.zen.ping.unicast.hosts: ["124.17.5.48","124.17.5.84","124.17.5.86"]
#避免脑裂 设置最小数量的主节点配置 公式为(有master资格节点个数/2)+1
discovery.zen.minimum_master_nodes: 2
#只要指定个数的节点加入集群,即可恢复
gateway.recover_after_nodes: 2
#es节点名称
node.name: node-84
#数据存储路径
path.data: /usr/local/elasticsearch-6.8.2/data
#日志存储路径
path.logs: /usr/local/elasticsearch-6.8.2/logs
#网关地址
network.host: 0.0.0.0
#端口
http.port: 9200

  

如果要通过service操作elasticsearch 可以新建/etc/init.d/elasticsearch

#!/bin/bash
#chkconfig: 2345 80 05
#description:elasticsearch
#processname:elasticsearch

export JAVA_HOME=/usr/local/jdk1.8.0_221
export JAVA_BIN=/usr/local/jdk1.8.0_221/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

case "$1" in
start)
    su es<<!
    cd /usr/local/elasticsearch-6.8.2
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
stop)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    ;;
restart)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    su es<<!
    cd /usr/local/elasticsearch-6.8.2
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac

  

 

7、zabbix环境搭建

安装zabbix


vi /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/ 
#这里我们换成清华的yum源
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/debuginfo/
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/debuginfo/
#换了上面Zabbix的安装源地址,其组件地址也要记得换! 
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

  

8、apache环境搭建

centos7 安装httpd:
cd /opt
[root@localhost opt]# tar zxvf httpd-2.4.25.tar.gz 
[root@localhost opt]# tar zxvf apr-1.4.6.tar.gz 
[root@localhost opt]# tar zxvf apr-util-1.4.1.tar.gz 

[root@localhost opt]# cp -R apr-1.4.6 /opt/httpd-2.4.25/srclib/apr
[root@localhost opt]# cp -R apr-util-1.4.1 /opt/httpd-2.4.25/srclib/apr-util

 [root@localhost opt]# cd /opt/httpd-2.4.25
 ./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi
    
    
 make && make install
    
 vi ~/.bash_profile
 export PATH=$PATH:/usr/local/apache/bin
    
启动: httpd
关闭: httpd -k stop

  

9、node环境搭建

nodejs在linux的配置:
1、下载安装nodejs并配置环境变量
https://nodejs.org/en/download/
https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz
tar xvf node-v12.16.3-linux-x64 (1).tar.xz
vi ~/.bash_profile
PATH=$PATH:/root/zzl/node-v12.16.3-linux-x64/bin
source ~/.bash_profile

2、配置ssl
npm config set strict-ssl false

3、升级nodejs
npm install -g n
n stable 

4、安装yarn
npm install -g yarn

5、安装forever或者pm2
npm install -g forever 
npm install -g pm2

  

10、mongo安装

 cd /usr
 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
 tar zxvf mongodb-linux-x86_64-4.0.0.tgz
  mv mongodb-linux-x86_64-4.0.0 mongodb
 vim /etc/profile
export PATH=/usr/mongodb/bin:$PATH
source /etc/profile

  

mkdir db
mkdir log
touch log/mongod.log
touch mongodb.conf

vi mongodb.conf

port=27017 #端口
dbpath= /usr/mongodb/db #数据库存文件存放目录
logpath= /usr/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
noauth=true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger  #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0  #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB

启动:
nohup mongod --config /usr/mongo/mongodb.conf  --wiredTigerCacheSizeGB 2 &
    
创建管理员(此时启动时 可以将配置文件中的noauth=false):
use admin
db.createUser({user:"admin",pwd:"ciic))@jzFp",roles:["root"]})
db.auth("admin","ciic))@jzFp")
(db.auth是测试下用户名和密码是否匹配,为1是ok)

创建指定数据:
//切换到要设置的数据库,以test为例
use test
//为test创建用户,用户名和密码请自行设置。
db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})

CLI客户端连接测试:
mongo -u zgtNewsUser -p ciic))@jzFp -authenticationDatabase admin

  

添加为service: vi /etc/systemd/system/mongodb.service
[Unit] 
Description=mongodb  
After=network.target remote-fs.target nss-lookup.target 

[Service] 
Type=forking 
ExecStart=/usr/mongo/bin/mongod --config  /usr/mongo/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/usr/mongo/bin/mongod --shutdown --config  /usr/mongo/mongodb.conf
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target

#启动服务 
systemctl start mongodb.service   

#关闭服务   
systemctl stop mongodb.service   

#开机启动   
systemctl enable mongodb.service 

  

11、nginx设置访问密码

1、 yum -y install httpd-tools
2、 htpasswd -c /usr/local/nginx/passwd tsino
上面的 /usr/local/nginx/passwd 是生成密码文件的路径,然后 tsino 是用户名,你可以根据需要自行设置成其它用户名。运行命令后,会要求你连续输入两次密码。输入成功后,会提示已经为 tsino 这个用户添加了密码。
3、在需要加密的站点添加配置
server {
    listen 80;
    server_name  localhost;
    .......
    #新增下面两行
    auth_basic "Please input password"; #这里是验证时的提示信息 
    auth_basic_user_file /usr/local/nginx/passwd;
    location /{
    .......
}

  

12、consul注册配置中心

wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip
unzip consul_1.3.0_linux_amd64.zip
./consul agent -dev -ui -node=consul-dev -client=192.168.3.197
登录   http://192.168.3.197:8500/

测试:以下两者的区别 第一个有个join是要加入别人,第二个有个bootstrap是要启动
nohup /opt/consul/consul agent -server -ui -client=0.0.0.0 -node=192.168.3.198 -bind=192.168.3.198 -join 192.168.3.198 -datacenter=tsinoConsul -data-dir=/opt/consul/data/ > /opt/consul/logs/consul.log 2>&1 &

nohup /opt/consul/consul agent -server -ui -bootstrap -client=0.0.0.0 -node=192.168.3.198 -bind=192.168.3.198 -datacenter=tsinoConsul -data-dir=/opt/consul/data/ > /opt/consul/logs/consul.log 2>&1 &


生产环境:
nohup /usr/local/consul-1.4.0/consul agent -server -ui -client=0.0.0.0 -node=124.17.5.85 -bind=124.17.5.85 -join 124.17.5.47 -datacenter=tsinoConsul -data-dir=/usr/local/consul-1.4.0/data/ > /usr/local/consul-1.4.0/logs/consul.log 2>&1 &
    

client   客户端连接Server的地址,默认127.0.0.1,可绑定多个。
node 节点在集群中的名称。 在集群中一定是唯一的,默认为机器的HostName(主机名)
bind 绑定集群通信得地址,这个ip地址应该是就集群内得其他节点可达,可找到得。 默认 0.0.0.0,将绑定机器得所有地址,同时把 ipv4地址告诉集群得其他人。如果指定[::],将广播IPV6地址。 如果存在多个IPV4/IPV6地址,启动则报错。
join 加入Server节点,组成集群,无法加入,将启动失败, 注意集群部署时,推荐使用 retry-join, 将自动重试Join列表,直到成功
datacenter  此标志控制运行代理程序的数据中心。如果未提供,则默认为“dc1”。Consul对多个数据中心拥有一流的支持,但它依赖于正确的配置。同一个数据中心内的节点应该位于单个局域网中。
data-dir Agent存储状态的的数据目录
domain: 指定交由 Consul 处理的DNS域, 默认consul, 比如执行 xxx.consul时,由 Consul 进行域名解析。

  

 

13、gitlab

步骤1:安装依赖
yum install curl policycoreutils policycoreutils-python openssh-server openssh-clients -y
步骤2:安装gitllab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.0.0-ce.0.el7.x86_64.rpm
rpm  -ivh gitlab-ce-11.0.0-ce.0.el7.x86_64.rpm 
步骤3:从老机器备份
gitlab-rake gitlab:backup:create
(备份完成后备份文件会出现在/var/opt/gitlab/backups/)
步骤4:恢复到新机器(注意:gitlab版本要一致,否则无法恢复)
停止相关服务:
 gitlab-ctl stop unicorn
 gitlab-ctl stop sidekiq
恢复
 gitlab-rake gitlab:backup:restore BACKUP=1537261122_2018_09_18_9.2.5
启动
 gitlab-ctl start
 关闭gitlab中所有用户的二步认证: gitlab-rake gitlab:two_factor:disable_for_all_users

  

14、redis及可视化

cd /opt
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
tar -zxvf redis-4.0.6.tar.gz
cd redis-4.0.6
make MALLOC=libc 
cd src && make install
mv /opt/redis-5.0.2 /usr/local/redis

vi redis.conf
把 daemonize no 改为 daemonize yes (修改为yes后就可以支持后台执行)
requirepass tsino@2023 //将密码修改为tsino@2023
修改bindip为本机ip


 vi /etc/systemd/system/redis.service 
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target


systemctl daemon-reload
systemctl start redis.service
systemctl stop redis.service
systemctl enable redis.servicer

 

redis可视化:工具redis-manager

1、下载
下载地址:https://github.com/ngbdf/redis-manager/releases

2、准备mysql
安装配置mysql用户名和密码
创建数据库:
CREATE DATABASE `redis_manager` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3、安装配置redis-manager
tar -zxv -f redis-manager-2.3.2.2-RELEASE.tar.gz
cd redis-manager/conf
vim application.yml

  datasource:
    # 必填,与数据库同名
    database: redis_manager
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.0.145:3306/redis_manager?useUnicode=true&characterEncoding=utf-8&serverTimezone=CTT # 数据库地址,端口,数据库名
    username: root # 用户名
    password: root # 密码

4、防火墙开放相关端口
5、启动 ./bin/start.sh
6、访问 ip:8182
7、点击右上角,导入cluster,输入相关redis的node地址和端口
比如 121.17.5.48:7000 有密码就写上密码

  

15、docker

1、安装docker
curl -sSL https://get.daocloud.io/docker | sh
启动docker
service docker start

2、安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

3、给docker-compose添加执行权限
hmod +x /usr/local/bin/docker-compose

  

docker 开启2375端口,提供外部访问docker
Posted on 2020-01-02 16:56  panchanggui  阅读(1261)  评论(0)  编辑  收藏
 

一、编辑docker文件:/usr/lib/systemd/system/docker.service

命令:vim /usr/lib/systemd/system/docker.service

修改ExecStart行,增加内容 -H tcp://0.0.0.0:2375 ,修改后如下:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock



 
二、重新加载docker配置

systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker


三、docker
docker ps -a 查看所有的容器状态
docker start/stop/restart 容器名称/容器id
docker exec -it mysql bash //进入mysql这个容器的bash

查看某容器在主机上的存储地址:
步骤1:通过docker inspect 容器名称/容器id 
docker inspect  mysql | grep UpperDir
步骤2:进入UpperDir对应的目录中 操作容器

  

16、harbor

它主要提供 Dcoker Registry 管理界面UI,可基于角色访问控制,镜像复制, AD/LDAP 集成,日志审核等功能,完全的支持中文。

1、下载
http://harbor.orientsoft.cn/
2、解压缩
tar -xzvf harbor-offline-installer-v2.0.0.tgz
3、去阿里云等平台生成相关域名(以docker.dsino.org.cn)的ssl证书为例
备注:默认下载的证书文件中不包含crt文件
(可以借助以下指令生成证书文件)
openssl x509 -in 6102136_docker.dsino.org.cn.pem -out 1.crt
4、配置harbor访问域名、ssl的crt、pem路径
cp harbor.yml.tmpl harbor.yml
hostname: docker.dsino.org.cn
certificate: /etc/harborcert/6102136_docker.dsino.org.cn.crt
private_key: /etc/harborcert/6102136_docker.dsino.org.cn.key
5、安装
./prpare
./install.sh
6、关闭与启动
进入harbor目录
docker-compose down
docker-compose up -d
7、默认账户信息
admin/Harbor12345

  

17、jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  yum install jenkins
  修改自定义端口,vi /etc/sysconfig/jenkins
  默认为8080,比如修改为8088
  修改service的java路径 vi /etc/init.d/jenkins 
  服务重载
  systemctl daemon-reload
  允许开机启动
   chkconfig jenkins on
  启动
  service jenkins start
  service jenkins stop
  service jenkins status
  
  开放防火墙中的8080端口,此时就可以登录8080端口访问jenkins服务了
  
  默认密码:
  cat /var/lib/jenkins/secrets/initialAdminPassword
  离线解决方案:
  vi /var/lib/jenkins/updates/default.json 将google改成baidu
  修改update center
  vi /var/lib/jenkins/hudson.model.UpdateCenter.xml 
  将原有链接替换为
  https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  记得修改完上述配置后重启service: sevice jenkins restart
  
  
  jenkins在构建时常见错误:
  问题1:docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: 
  解决方案:重启jenkins服务
  gpasswd -a jenkins docker
  service jenkins restart
  
  问题2:可视化构建
   Blue Ocean

  

18、postgresql

curl -O https://ftp.postgresql.org/pub/source/v13.2/postgresql-13.2.tar.gz
tar zxvf postgresql-13.2.tar.gz 
./configure --prefix=/usr/local/postgresql
(如果提示readline找不到 yum install readline-devel)
(如果提示zlib找不到 yum install zlib-devel)

make && make install

linux:
useradd postgres
chown -R postgres:postgres /usr/local/postgresql/
su postgress

vi ~/.bash_profile
    PGHOME=/usr/local/postgresql
    export PGHOME
    PGDATA=/usr/local/postgresql/data
    export PGDATA

    PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

source ~/.bash_profile

数据库初始化:
initdb

配置数据库服务器的host等信息:(在initdb后会创建一下文件夹:/usr/local/postgresql/data)
 vi pg_hba.conf 
host all all 0.0.0.0/0
 vi postgresql.conf
listen_address = '*'


启动数据库服务器:
pg_ctl start -l /usr/local/postgresql/log/pg_server.log
本地连接数据库:
psql
设置密码:
psql进入命令行
\password 
暂定:ciic@jzFp123

创建用户名密码:
create user wikijs with password 'ciic))@jzFp123';
创建数据库:
create database wiki owner wikijs;
数据库权限赋值给某个人:
grant all on database wiki to wikijs;
进入数据库命令行模式:
psql
退出数据库命令行模式:
\q


数据库基本操作:
创建 create database wiki owner wikijs;
切换到某个数据库:\c dbname;
查看 \l
修改
删除 drop database  dbname

表的基本操作:
创建:CREATE TABLE DEPARTMENT(ID INT PRIMARY KEY NOT NULL,DEPT CHAR(50) NOT NULL);
 create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
查看:\d  ; \d table1;
重命名一个表: alter table [表名A] rename to [表名B];
删除一个表: drop table [表名]; 

表内操作:
在已有的表里添加字段: alter table [表名] add column [字段名] [类型];
删除表中的字段: alter table [表名] drop column [字段名];
重命名一个字段: alter table [表名] rename column [字段名A] to [字段名B];
给一个字段设置缺省值: alter table [表名] alter column [字段名] set default [新的默认值];
去除缺省值: alter table [表名] alter column [字段名] drop default;
在表中插入数据: insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
修改表中的某行某列的数据: update [表名] set [目标字段名]=[目标值] where [该行特征];
删除表中某行数据: delete from [表名] where [该行特征];
delete from [表名];--删空整个表 


数据库用户:
创建: create user ** with password '***';
授权:grant all on database wiki to wikijs;
删除:


json存储与查询:
create table if not exists teacher(info jsonb);
insert into teacher values('{"id":1,"name":"zzl","age":24}');
select info from teacher where info @> '{"id":1}'::jsonb;
(查询符:)


postgresql:
# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录
SELECT * FROM user_tbl;
# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格
DROP TABLE IF EXISTS backup_tbl;

  

 

posted @ 2023-06-25 12:12  kunyashaw  阅读(102)  评论(0编辑  收藏  举报
回到顶部