`
rensanning
  • 浏览: 3547841 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38135
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607242
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682250
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89305
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401769
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69684
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91685
社区版块
存档分类
最新评论

搭建 CentOS 6 服务器(6) - MySQL、PostgreSQL

 
阅读更多
(一)MySQL

(1)安装
# yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
# yum info mysql-community-server
# yum -y install mysql-community-server
# vi /etc/my.cnf
    character-set-server=utf8
# /etc/init.d/mysqld restart
# mysqld --version
    mysqld  Ver 5.6.23 for Linux on x86_64 (MySQL Community Server (GPL))


(2)基本设置
# mysql_secure_installation
    Enter current password for root (enter for none): ← 回车

    Set root password? [Y/n] ← 回车
    New password: ← 123456
    Re-enter new password: ← 123456

    Remove anonymous users? [Y/n] ← 回车(删除匿名用户)

    Disallow root login remotely? [Y/n] ← 回车(禁止远程root登录)

    Remove test database and access to it? [Y/n] ← 回车(删除test库)

    Reload privilege tables now? [Y/n] ← 回车

    Thanks for using MySQL!
# mysql -u root -p
    Enter password:123456

    mysql> create database mydb;
    mysql> grant all privileges on mydb.* to testuser@localhost identified by '123456';
    mysql> select user, host from mysql.user;
    mysql> quit


(3)主从设置

①设置Master
# vi /etc/my.cnf
    [mysqld]
    server-id=10
    log-bin=mysqld-bin
    binlog-ignore-db=test,performance_schema,information_schema
# service mysqld restart
# mysql -u root -p
    mysql> grant replication slave on *.* to 'repl_user'@'slave_host' identified by 'repl_pwd';
    mysql> flush privileges;
    mysql> flush tables with read lock;
    mysql> quit
# mysqldump -u root -p --all-databases --lock-all-tables > /root/dump.sql
# gzip dump.sql
# mysql -u root -p
    mysql> unlock tables;
    mysql> show master status\G ←确认File和Position,后边Slave会用到
    mysql> quit


②设置Slave
# vi /etc/my.cnf
    [mysqld]
    server-id=11
    relay-log=mysqld-relay-bin
    read_only=1
# service mysqld restart
# scp root@slave_host:/root/dump.sql.gz /root
# cd /root
# gzip -d dump.sql.gz
# mysql -uroot -p < /root/dump.sql
# mysql -u root -p
    mysql> reset slave;
    mysql> change master to master_host='master_host', master_user='repl_user', master_password='repl_pwd', master_log_file='mysqld-bin.xxxxxx', master_log_pos=xxxx; ←这里的值和上边'show master status'的结果相同
    mysql> start slave;
    mysql> show slave status\G
    mysql> quit


③确认主从


# mysql -u root -p
    mysql> show databases;
    mysql> create database test_db;
    mysql> quit



# mysql -u root -p
    mysql> show databases; ←test_db同时被做成
    mysql> quit


(二)PostgreSQL

(1)下载安装
# cd /usr/local/src
# wget http://sourceforge.net/projects/postgresql.mirror/files/PostgreSQL%209.3.4/postgresql-9.3.4-1-linux-x64.run/download
# chmod 755 postgresql-9.3.4-1-linux-x64.run
# ./postgresql-9.3.4-1-linux-x64.run
    Installation Directory [/opt/PostgreSQL/9.2]:/usr/local/pgsql
    Data Directory [/usr/local/pgsql/data]: 
    Password :postgres
    Retype password :postgres
    Port [5432]:
    Please choose an option [1] : 430 ←选择对应的语言(430代表日语)
    Do you want to continue? [Y/n]: y
    Setup has finished installing PostgreSQL on your computer.


只安装Client:
# yum install readline-devel zlib-devel
# cd /usr/local/src/
# wget https://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.gz
# tar xzvf postgresql-9.3.4.tar.gz
# cd postgresql-9.3.4
# ./configure --prefix /usr/local/pgsql
# make
# gmake -C src/bin install
# gmake -C src/include install
# gmake -C src/interfaces install
# gmake -C doc install


(2)确认版本
# id postgres
# su - postgres
# cd /usr/local/pgsql/bin
# ./psql --version


(3)设置
# cd /usr/local/pgsql/data
# cp postgresql.conf postgresql.conf.default
# vi postgresql.conf
    max_connections=100
    shared_buffers=128MB
    work_mem=16MB
# cp pg_hba.conf pg_hba.conf.default
# vi pg_hba.conf
    host    all         all         192.168.21.0/24        trust
# /etc/init.d/postgresql-9.3 restart


数据库操作的历史记录文件
#  touch /usr/local/pgsql/.psql_history
#  chown postgres:postgres /usr/local/pgsql/.psql_history


通过pgAdmin测试是否连接成功。

(4)启动设置
# chkconfig postgresql-9.3 on
# chkconfig --list postgresql-9.3


(5)创建登录用户
# su - postgres
# cd /usr/local/pgsql/bin
# ./createuser -s -d -r -l -P pguser
    Enter password for new role: 123456
    Enter it again: 123456
    Password :postgres
    ./psql
    Password :postgres
    postgres=# \du
                                 List of roles
     Role name |                   Attributes                   | Member of
    -----------+------------------------------------------------+-----------
     pguser    | Superuser, Create role, Create DB              | {}
     postgres  | Superuser, Create role, Create DB, Replication | {}
    postgres=# \q


(6)创建数据库
# ./createdb -E UTF8 -O pguser -U pguser pgdb
    Password :postgres
# ./psql -l
    Password :postgres
# ./psql -U pguser -d pgdb
    postgres=# \l
     List of databases
       Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges
    -----------+----------+----------+------------+------------+----
     pgdb    | pguser       | UTF8     | ja_JP.utf8 | ja_JP.utf8 |
    postgres=# CREATE TABLE test_users(id integer NOT NULL, name character varying(10) NOT NULL, CONSTRAINT test_users_pkc PRIMARY KEY (id));
    postgres=# INSERT INTO test_users(id,name) VALUES (1, 'rensanning');
    postgres=# SELECT * FROM test_users;
     id | name
    ----+------
      1 | rensanning
    (1 row)
    postgres=# \q


(7)主从设置

①设置Master
# vi /usr/local/pgsql/data/postgresql.conf
    wal_level = hot_standby
    synchronous_commit = on
    max_wal_senders = 2
    synchronous_standby_names = 'slave1'
    wal_keep_segments = 100
# vi /usr/local/pgsql/data/pg_hba.conf
    local   replication     postgres                                trust
    host    replication     postgres        127.0.0.1/32            trust
# /etc/init.d/postgresql-9.3 restart


②设置Slave
# /etc/init.d/postgresql-9.3 stop
# /usr/local/pgsql/bin/pg_basebackup -U postgres -h master_host -p 5432 -D /usr/local/pg_slave --xlog --progress --verbose
# cp /usr/local/pgsql/data/postmaster.opts /usr/local/pg_slave/
# mv /usr/local/pgsql/data/ /usr/local/pgsql/data_bak/
# cp /usr/local/pg_slave/ /usr/local/pgsql/data/
# chown -R postgres:postgres /usr/local/pgsql/data/
# vi /usr/local/pgsql/data/postgresql.conf
    hot_standby = on
# cp /usr/local/pgsql/share/postgresql/recovery.conf.sample /usr/local/pgsql/data/recovery.conf
# vi /usr/local/pgsql/data/recovery.conf
    standby_mode = on
    primary_conninfo = 'host=master_host port=5432 application_name=slave1'
# /etc/init.d/postgresql-9.3 restart


③确认主从


# su - postgres
# cd /usr/local/pgsql/bin
# ./psql -U pguser -d pgdb -c "INSERT INTO test_users VALUES (2,'slave')"
    OK
# ./psql -U pguser -d pgdb -c "select * from test_users"
     id | name  
    ----+-------
      1 | rensanning
      2 | slave
    (2 rows)
# ./psql -U pguser -d pgdb -c "SELECT application_name,state,sync_priority,sync_state FROM pg_stat_replication;"
     application_name |   state   | sync_priority | sync_state 
    ------------------+-----------+---------------+------------
     slave1           | streaming |             1 | sync
     slave1           | streaming |             1 | potential



# su - postgres
# cd /usr/local/pgsql/bin
# ./psql -U pguser -d pgdb -c "INSERT INTO test_users VALUES (3,'slave')"
    ERROR:  cannot execute INSERT in a read-only transaction
# ./psql -U pguser -d pgdb -c "select * from test_users"
     id | name  
    ----+-------
      1 | rensanning
      2 | slave
    (2 rows)




卸载PostgreSQL:

# /etc/init.d/postgresql stop
# rm -f /etc/postgres-reg.ini
# rm -rf /usr/local/pgsql/
# rm -f /etc/init.d/postgresql
# vi /etc/ld.so.conf
 remove /usr/local/pgsql/lib
# rm /etc/ld.so.conf.d/postgresql.conf
# userdel -r postgres
# groupdel postgres

  • 大小: 90 KB
分享到:
评论

相关推荐

    Linux+CentOS-7-x86-64-Minimal-2009.iso

    安装完成后,用户可以使用`yum`或`dnf`(Dandified Yum,CentOS 7中默认的包管理器)来安装额外的软件和服务,例如Web服务器(Apache或Nginx)、数据库(MySQL或PostgreSQL)、开发工具等。此外,由于CentOS 7基于...

    CentOS-6.5-i386-bin-DVD1.iso.txt

    适合作为MySQL、PostgreSQL等数据库系统的主机操作系统。 #### 3. **文件服务器** 可以搭建Samba或其他类型的文件共享服务,实现跨平台文件共享。 #### 4. **开发测试环境** 对于软件开发团队而言,CentOS 6.5...

    腾讯云服务器Linux CentOS 7.2 yum安装LAMP环境

    yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel ``` - **启动Apache服务**:安装完Apache后需要启动服务,并通过`ps aux | grep httpd...

    CentOS-6.5-x86_64-minimal.rar

    由于是精简版,用户可能需要手动添加额外的软件包以满足特定需求,例如Web服务器(Apache或Nginx)、数据库服务(MySQL或PostgreSQL)、开发工具链、图形界面等。此外,更新和安装新软件主要通过yum(Yellowdog ...

    万能postgresql数据库部署安装仓库-含12-15版本所有版本以及官方所有插件

    5. **数据迁移工具**:提供了mysql_fdw、postgres_fdw、ora_fdw等多种数据迁移工具,支持与MySQL、Oracle等其他数据库系统的数据交换。 6. **内部网络环境友好**:镜像包内包含了所有必要的依赖项,可在没有外部网络...

    CentOS-7-x86_64-Minimal-1908

    - **数据库服务器**:安装MySQL、PostgreSQL等数据库管理系统,提供数据存储服务。 - **应用程序服务器**:部署Java、Python等语言编写的应用程序,提供业务逻辑处理功能。 - **文件服务器**:通过安装Samba、NFS等...

    Linux-CentOS下载--安装

    常用软件可能包括办公套件(如 LibreOffice)、防火墙(firewalld或iptables)、远程桌面服务(VNC或XDMCP)、Web服务器(Apache或Nginx)、数据库(MySQL或PostgreSQL)以及开发工具(GCC、Git等)。使用`yum`或`...

    vps-centos6-apprtc安装1

    不过,还需要继续安装其他依赖,例如Web服务器(如Nginx或Apache),数据库(如MySQL或PostgreSQL),以及AppRTC项目本身。AppRTC的源代码可以从GitHub获取,具体地址为:https://github.com/webrtc/apprtc 房间...

    centos nginx+mysql5.7+redis+postgresql12+postgis 安装包

    这里我们关注的是在CentOS系统上搭建一个基于Nginx的Web服务环境,并结合MySQL数据库、Redis缓存以及PostgreSQL和PostGIS地理空间扩展的组合。这是一个典型的Web开发和数据存储的基础架构,常用于大数据处理、地理...

    服务器 数据库 框架搭建案例

    2. **数据库类型**:根据项目需求,可以选择关系型数据库(如MySQL、PostgreSQL)或非关系型数据库(如MongoDB、Redis)。关系型数据库适合处理结构化数据,非关系型数据库则在处理半结构化或非结构化数据时更有优势...

    CentOS 5 全功能WWW服务器搭建全教程 V3.0

    4. **数据库集成**:教程可能涵盖MySQL或PostgreSQL数据库的安装和管理,因为大多数动态网站需要数据库来存储和检索数据。 5. **安全设置**:为了保护服务器免受攻击,教程会介绍如何设置防火墙规则、配置SSL证书以...

    CentOS 下架设 Nginx+PHP 5.4.10+PostgreSql

    在本文档中,我们将详细介绍如何在 CentOS 系统上搭建 Nginx 服务器,并与 PHP 5.4.10 和 PostgreSQL 数据库集成。这个过程适用于那些希望在 CentOS 上快速建立一个高性能、稳定的 Web 服务环境的用户。 首先,为了...

    --搭建WEB专用--

    4. **数据库**:数据存储通常需要数据库,如MySQL、PostgreSQL、MongoDB等。它们为Web应用提供数据存储和查询功能。 5. **版本控制**:Git是常用的版本控制系统,用于协同开发和管理代码版本。 6. **部署工具**:...

    centos5.5 redmine安装及其插件安装

    - MySQL 数据库服务器 - PostgreSQL 或 SQLite 作为数据库引擎(根据需求选择) - 基本的系统工具(如 wget、unzip、tar 等) - RubyGems(用于安装Ruby库) - Apache 或 Nginx 作为Web服务器 ### 2. 安装Ruby和...

    手把手教你搭建OA服务器

    MySQL、PostgreSQL或SQL Server都是常见的选择。安装过程中需注意设置合理的权限和安全策略,确保数据安全。 接着,选型OA服务器软件。市面上有很多成熟的OA系统可供选择,如泛微、致远、蓝凌等。这里我们假设选择...

    linux常见服务器搭建实验任务书

    本实验任务书主要关注于在CentOS系统上搭建常见的服务器服务,这将涵盖网络服务、数据库服务、Web服务等多个方面。以下是这些服务的详细说明: 1. **网络服务**: - **DHCP服务器**:动态主机配置协议(DHCP)...

    Linux 服务器环境搭建推荐教程

    6. **软件安装**:根据服务器的用途,我们可能需要安装各种软件,如Web服务器(Apache或Nginx)、数据库服务器(MySQL或PostgreSQL)、编程语言解释器(Python、PHP、Java等)。使用包管理器可以方便地安装和管理...

Global site tag (gtag.js) - Google Analytics