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

(一)MySQL

(1)安装

Shell代码  

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

(2)基本设置

Shell代码  

  1. # mysql_secure_installation
  2. Enter current password for root (enter for none): ← 回车
  3. Set root password? [Y/n] ← 回车
  4. New password: ← 123456
  5. Re-enter new password: ← 123456
  6. Remove anonymous users? [Y/n] ← 回车(删除匿名用户)
  7. Disallow root login remotely? [Y/n] ← 回车(禁止远程root登录)
  8. Remove test database and access to it? [Y/n] ← 回车(删除test库)
  9. Reload privilege tables now? [Y/n] ← 回车
  10. Thanks for using MySQL!
  11. # mysql -u root -p
  12. Enter password:123456
  13. mysql> create database mydb;
  14. mysql> grant all privileges on mydb.* to [email protected] identified by ‘123456‘;
  15. mysql> select user, host from mysql.user;
  16. mysql> quit

(3)主从设置

①设置Master

Shell代码  

  1. # vi /etc/my.cnf
  2. [mysqld]
  3. server-id=10
  4. log-bin=mysqld-bin
  5. binlog-ignore-db=test,performance_schema,information_schema
  6. # service mysqld restart
  7. # mysql -u root -p
  8. mysql> grant replication slave on *.* to ‘repl_user‘@‘slave_host‘ identified by ‘repl_pwd‘;
  9. mysql> flush privileges;
  10. mysql> flush tables with read lock;
  11. mysql> quit
  12. # mysqldump -u root -p --all-databases --lock-all-tables > /root/dump.sql
  13. # gzip dump.sql
  14. # mysql -u root -p
  15. mysql> unlock tables;
  16. mysql> show master status\G ←确认File和Position,后边Slave会用到
  17. mysql> quit

②设置Slave

Shell代码  

  1. # vi /etc/my.cnf
  2. [mysqld]
  3. server-id=11
  4. relay-log=mysqld-relay-bin
  5. read_only=1
  6. # service mysqld restart
  7. # scp [email protected]_host:/root/dump.sql.gz /root
  8. # cd /root
  9. # gzip -d dump.sql.gz
  10. # mysql -uroot -p < /root/dump.sql
  11. # mysql -u root -p
  12. mysql> reset slave;
  13. 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‘的结果相同
  14. mysql> start slave;
  15. mysql> show slave status\G
  16. mysql> quit

③确认主从

Shell代码  

  1. # mysql -u root -p
  2. mysql> show databases;
  3. mysql> create database test_db;
  4. mysql> quit

Shell代码  

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

(二)PostgreSQL

(1)下载安装

Shell代码  

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

只安装Client:

Shell代码  

  1. # yum install readline-devel zlib-devel
  2. # cd /usr/local/src/
  3. # wget https://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.gz
  4. # tar xzvf postgresql-9.3.4.tar.gz
  5. # cd postgresql-9.3.4
  6. # ./configure --prefix /usr/local/pgsql
  7. # make
  8. # gmake -C src/bin install
  9. # gmake -C src/include install
  10. # gmake -C src/interfaces install
  11. # gmake -C doc install

(2)确认版本

Shell代码  

  1. # id postgres
  2. # su - postgres
  3. # cd /usr/local/pgsql/bin
  4. # ./psql --version

(3)设置

Shell代码  

  1. # cd /usr/local/pgsql/data
  2. # cp postgresql.conf postgresql.conf.default
  3. # vi postgresql.conf
  4. max_connections=100
  5. shared_buffers=128MB
  6. work_mem=16MB
  7. # cp pg_hba.conf pg_hba.conf.default
  8. # vi pg_hba.conf
  9. host    all         all         192.168.21.0/24        trust
  10. # /etc/init.d/postgresql-9.3 restart

数据库操作的历史记录文件

Shell代码  

  1. #  touch /usr/local/pgsql/.psql_history
  2. #  chown postgres:postgres /usr/local/pgsql/.psql_history

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

(4)启动设置

Shell代码  

  1. # chkconfig postgresql-9.3 on
  2. # chkconfig --list postgresql-9.3

(5)创建登录用户

Shell代码  

  1. # su - postgres
  2. # cd /usr/local/pgsql/bin
  3. # ./createuser -s -d -r -l -P pguser
  4. Enter password for new role: 123456
  5. Enter it again: 123456
  6. Password :postgres
  7. ./psql
  8. Password :postgres
  9. postgres=# \du
  10. List of roles
  11. Role name |                   Attributes                   | Member of
  12. -----------+------------------------------------------------+-----------
  13. pguser    | Superuser, Create role, Create DB              | {}
  14. postgres  | Superuser, Create role, Create DB, Replication | {}
  15. postgres=# \q

(6)创建数据库

Shell代码  

  1. # ./createdb -E UTF8 -O pguser -U pguser pgdb
  2. Password :postgres
  3. # ./psql -l
  4. Password :postgres
  5. # ./psql -U pguser -d pgdb
  6. postgres=# \l
  7. List of databases
  8. Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges
  9. -----------+----------+----------+------------+------------+----
  10. pgdb    | pguser       | UTF8     | ja_JP.utf8 | ja_JP.utf8 |
  11. postgres=# CREATE TABLE test_users(id integer NOT NULL, name character varying(10) NOT NULL, CONSTRAINT test_users_pkc PRIMARY KEY (id));
  12. postgres=# INSERT INTO test_users(id,name) VALUES (1, ‘rensanning‘);
  13. postgres=# SELECT * FROM test_users;
  14. id | name
  15. ----+------
  16. 1 | rensanning
  17. (1 row)
  18. postgres=# \q

(7)主从设置

①设置Master

Shell代码  

  1. # vi /usr/local/pgsql/data/postgresql.conf
  2. wal_level = hot_standby
  3. synchronous_commit = on
  4. max_wal_senders = 2
  5. synchronous_standby_names = ‘slave1‘
  6. wal_keep_segments = 100
  7. # vi /usr/local/pgsql/data/pg_hba.conf
  8. local   replication     postgres                                trust
  9. host    replication     postgres        127.0.0.1/32            trust
  10. # /etc/init.d/postgresql-9.3 restart

②设置Slave

Shell代码  

  1. # /etc/init.d/postgresql-9.3 stop
  2. # /usr/local/pgsql/bin/pg_basebackup -U postgres -h master_host -p 5432 -D /usr/local/pg_slave --xlog --progress --verbose
  3. # cp /usr/local/pgsql/data/postmaster.opts /usr/local/pg_slave/
  4. # mv /usr/local/pgsql/data/ /usr/local/pgsql/data_bak/
  5. # cp /usr/local/pg_slave/ /usr/local/pgsql/data/
  6. # chown -R postgres:postgres /usr/local/pgsql/data/
  7. # vi /usr/local/pgsql/data/postgresql.conf
  8. hot_standby = on
  9. # cp /usr/local/pgsql/share/postgresql/recovery.conf.sample /usr/local/pgsql/data/recovery.conf
  10. # vi /usr/local/pgsql/data/recovery.conf
  11. standby_mode = on
  12. primary_conninfo = ‘host=master_host port=5432 application_name=slave1‘
  13. # /etc/init.d/postgresql-9.3 restart

③确认主从

Shell代码  

  1. # su - postgres
  2. # cd /usr/local/pgsql/bin
  3. # ./psql -U pguser -d pgdb -c "INSERT INTO test_users VALUES (2,‘slave‘)"
  4. OK
  5. # ./psql -U pguser -d pgdb -c "select * from test_users"
  6. id | name
  7. ----+-------
  8. 1 | rensanning
  9. 2 | slave
  10. (2 rows)
  11. # ./psql -U pguser -d pgdb -c "SELECT application_name,state,sync_priority,sync_state FROM pg_stat_replication;"
  12. application_name |   state   | sync_priority | sync_state
  13. ------------------+-----------+---------------+------------
  14. slave1           | streaming |             1 | sync
  15. slave1           | streaming |             1 | potential

Shell代码  

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

时间: 2024-10-24 08:44:03

搭建 CentOS 6 服务器(8) - MySQL、PostgreSQL的相关文章

搭建 CentOS 6 服务器 - 目录

搭建 CentOS 6 服务器 - 目录 博客分类: Linux (1) 安装CentOS ISO(desktop/minimal).Cloud(AWS/阿里云).Virtualization(VMWare.VirtualBox)详细内容 (2) Linux常用命令 cd.ls.rm.chmod......详细内容 (3) 初始环境设置 用户管理.网络设置.安全设置......详细内容 (4) 常驻服务Daemon (5) 客户端远程登录 WinSCP/PuTTY/TeraTerm/Podero

[LTMP搭建] Centos 6.5 安装 Mysql

接上篇: http://www.cnblogs.com/antarctican/p/3714422.html 一. 安装 Mysql 5.1.73.  官方:http://dev.mysql.com/downloads/file.php?id=450523 http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz 4. 安装 tengine 2.0.4 查看 version时, 提示 libss

搭建 CentOS 6 服务器(1) - 安装CentOS 6.6

以下是在VirtualBox里的安装过程: 1. 选择“Select Install or upgrade existing system” 2. 选择“skip ” 3. 点击“Next” 4. 选择语言后点击“Next” 5. 选择键盘 6. 选择“Select Basic Storage Device” 7. 选择“Yes, discard any data” 8. 设置“Hostname”,也可以点击“Configure Network”来设置网络 9. 选择时区 10. 设置root用

centos linux服务器apache+mysql环境访问慢优化方法

一.优化apache配置增加MaxClients的值 默认情况下,2.0及以上apache版本MaxClients的值为256,对于中大型应用访问是远远不够的. 在Apache2.0中,可以通过在httpd.conf配置的perfork代码段内修改ServerLimit和MaxClients参数来突破256的限制,此时必须MaxClients ≤ ServerLimit ≤ 20000设置完之后大致是这样的: ServerLimit 1000StartServers 30MinSpareServ

搭建 CentOS 6 服务器(3) - 初始环境设置

(1)系统架构 查看内核 Shell代码   # uname -s -r Linux 2.6.32-358.el6.x86_64 查看发布版本 Shell代码   # cat /etc/redhat-release CentOS release 6.4 (Final) 查看CPU架构 Shell代码   # arch x86_64(x86_64表示64位机器/i686表示32位机器) # getconf LONG_BIT 64 (2)用户设置 添加用户 Shell代码   # /usr/sbin

搭建 CentOS 6 服务器(16) - CVS、SVN、Git

(一)CVS 安装xinetd Shell代码   # rpm -q xinetd # yum install xinetd # chkconfig xinetd on # /etc/init.d/xinetd start 安装CVS Shell代码   # rpm -q cvs cvs-1.11.23-15.el6.x86_64 (CentOS自带) # yum install cvs 创建用户 Shell代码   # groupadd cvsgroup # useradd -G wheel,

搭建 CentOS 6 服务器(2) - Linux常用命令

(1)文件/文件夹 pwd - 显示当前路径 Shell代码   $ pwd cd - 跳到指定文件夹 Shell代码   $ cd /usr/local/src $ cd ~/ ←移动到用户的home ls - 显示当前文件夹下自己能看到的所有文件/文件夹一览 Shell代码   $ ls ←显示文件名 $ ls -l ←显示详细信息 $ ls -a ←显示隐藏文件 $ ls -t ←按做成时间降序显示 $ ls -l /usr/src/test/ ←显示指定文件夹的信息 mkdir - 创建

搭建 CentOS 6 服务器(14) - squid、Varnish

(一)squid 安装 Java代码   # yum install httpd-tools -y # htpasswd -c -b /etc/squid/passwords squiduser 123456 # yum install squid -y 设置 Java代码   # cp /etc/squid/squid.conf /etc/squid/squid.conf.bak # vi /etc/squid/squid.conf auth_param basic program /usr/

搭建 CentOS 6 服务器(12) - Samba

(1)安装 Java代码   # yum -y install samba Installed: samba.i686 0:3.6.9-169.el6_5 # pdbedit -a rensn new password:123456 retype new password:123456 …… (2)Home文件夹 Java代码   # mkdir /etc/skel/samba # mkdir /home/rensn/samba # chown rensn:rensn /home/rensn/s