วันอังคารที่ 2 เมษายน พ.ศ. 2556

แนวทางการติดตั้ง server ใหม่ ที่ใช้งานกับ HOSxP

ขั้นตอนการติดตั้งและคอนฟิกค่า เริ่มต้น ในกรณีติดตั้ง server ใหม่ ที่ให้ใช้งาน MySQL สำหรับฐานข้อมูลของ HOSxP
- ติดตั้ง Linux (Centos 6.x , Scientific 6.x, Oracle 6.x)
   ติดตั้งเป็น server database
   เลือก package  php-mysql  ด้วย
   กำหนด patition ตามระบบ คือ defult
   กำหนด card eth0 ให้เปิดใช้งานตั้งแต่เริ่มต้นคือ active ด้วย
   กำหนดรหัสผ่าน ต้องมีการจดบันทึกไว้ที่บันทึกแจ้งงานด้วย หรือส่งเข้าเมล์ admin ด้วย
   กำหนด ค่าให้เป็นตามมาตรฐานของ server ไทย ทั้งประเทศ เวลาไทย
- การเข้าใช้งานเริ่มต้น
   กำหนด filewall  ให้ปิดทุก port แล้วเลือกจะเปิดเฉพาะที่จำเป็นต้องใช้
   ได้แก่  mysql    port   =  3306
              ssh        port   =  34
              httpd     port   =  8080
              vnc        port  =   5901
   เป็นต้น หากมี การเข้า ssh  ให้ปิด root ไว้ก่อนแล้วค่อย su root  เข้าไปอีกที
   กำหนด ผู้ใช้งานเริ่มต้น  dansai ตามด้วยปีที่เริ่มใช้งาน รหัสผ่านก็เช่นกัน เอาตาม root ก็ได้
 
-  กำหนด MySQL ควรติดตั้ง MySQL เวอชัน  5.5.xx  ขึ้นไป คือต้องลบตัวเก่าทิ้งแล้วติดตั้งใหม่
   กำหนด my.cnf ตามมาตรฐาน ของ RAM ของ server
   เช่น
แรม 8 G


################## Star MySQL-Config #####################

[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-external-locking
skip-federated
big-tables
character-set-server=tis620
key_buffer = 1024M
max_allowed_packet = 512M
table_cache = 2000
table_open_cache = 2000
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
myisam_sort_buffer_size = 1024M
thread_cache_size = 8
query_cache_size= 512M
thread_concurrency = 8
low_priority_updates=1
skip-name-resolve
skip-character-set-client-handshake
skip-grant-tables
init_connect = 'SET NAMES tis620'
max_connections = 500

################## InnoDB  #######################
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 5000M
innodb_buffer_pool_instance=3
innodb_additional_mem_pool_size = 24M
innodb_log_file_size = 512M
innodb_file_format=Barracuda
innodb_file_per_table
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 100
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_thread_concurrency = 8
innodb_flush_method=O_DIRECT
innodb_checksums=0  
innodb_doublewrite=0  
innodb_support_xa=0      
innodb_max_dirty_pages_pct=90  
innodb_open_files = 1600
innodb_locks_unsafe_for_binlog=1
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 1024M

[mysqldump]
quick
max_allowed_packet = 512M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 4M
write_buffer = 4M

[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 4M
write_buffer = 4M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit = 50000


################# End MySQL-Config #################


   กำหนด limit ไฟล์ ไว้ในแฟ้ม /etc/security/limit.conf
   เพิ่มบรรทัด
root     soft     nofile     50000
root     hard     nofile     50000
mysql     soft     nofile     50000
mysql     hard     nofile     50000

   กำหนด ulimit  ด้วย ที่ /etc/rc.local
   เพิ่มบรรทัด

ulimit -n 3000


-  สร้างฐานข้อมูลก่อน dump ข้อมูลเข้า
   ใช้คำสั่ง
grant all on *.* to user(ตามมาตราฐาน)@'%' identify by with grant option;

กรณี ใช้คำสั่ง grant all .... ไม่ได้ 
ต้องไปทำการ สั่งให้ MySQL  upgrade ก่อน

mysql_upgrade

ก่อนเสร็จแล้วค่อยไป grant all อีกครั้งหากยังมี error  ให้ตรวจสอบไฟล์ log.error

อาจจะต้องเพิ่มคำสั่ง


skip-grant-tables

ที่ไฟล์  /etc/my.cnf  หลัง max_connextions 

กำหนดชื่่อฐานข้อมูลตามมาตราฐาน  ของหน่วยงาน 
ใช้ HOSxP  ทำการดึงข้อมูลมาเก็บไว้ที่เครื่องใหม่  ด้วยการ  initial import รอจนเสร็จ

ทำการอัพเกรด HOSxP เป็นเวอชันเดียวกันทั้งระบบ 

ปล.  สรุปขั้นตอนแบบกระชับ พอสังเขป
ทีมศูนย์คอมพิวเตอร์ รพร.ด่านซ้าย 
โทร.444