BMS-HOSxP Community
HOSxP => MySQL => ข้อความที่เริ่มโดย: snhos ที่ กุมภาพันธ์ 24, 2010, 09:55:30 AM
-
ผมได้ slave มาใหม่จะทำ slave เลยทำตามวิธีการที่อาจารย์ MN โพสไว้ ตามวิธีด้านล่าง
แต่พอใช้คำสั่ง vi เพื่อคอนฟิกค่า my.cnf แล้วเพิ่มบรรทัดเข้าไป มันก็เกิด error รูปที่แนบมาต้องการรู้ว่าผมใช้
คำสั่ง vi ถูกหรือเปล่า
วิธีการทำ slave ตามที่อาจารย์หมาน้อยบอก
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=1555.0
การกำหนดระบบ Replication ของ MySQL
« เมื่อ: กุมภาพันธ์ 08, 2007, 06:49:00 AM » อ้างถึง
--------------------------------------------------------------------------------
ในการใช้งาน MySQL สามารถเปิดใช้งานระบบ replication ที่มีใน MySQL ได้ โดยทำตามขั้นตอนดังนี้ครับ
1. ติดตั้ง MySQL ลงในเครื่่องที่จะทำหน้าที่เป็น Slave
2. เปิด configuration file ของ mysql มาแก้ไข หากใช้ linux จะอยู่ที่ /etc/my.cnf หรือหากใช้ Windows จะอยู่ที่ c:\windows\my.ini
3 ในเครื่องที่ทำหน้าที่เป็น Master ให้เพิ่ม ตรง section [mysqld] ดังนี้ครับ
server-id=1
log-bin
sync_binlog=1
innodb_safe_binlog
และที่สำคัญต้อง grant สิทธิให้ sa ด้วยคำสั่ง
grant all on *.* to sa@'%' identified by 'sa' with grant option
4. ในเครื่องที่ทำหน้าที่เป็น Slave ให้เพิ่ม ตรง section [mysqld] ดังนี้ครับ (สมมติว่าเครื่อง server มี IP Address เป็น 192.168.0.1 นะครับ)
server-id=2
master-host=192.168.0.1
master-user=sa
master-password=sa
replicate-do-db=hos
log-warnings
slave-skip-errors=all
5. ทำการ Re-Start mysql ทั้ง master และ slave
6. ที่เครื่อง slave ใช้คำสั่ง
mysql> load data from master
เพื่อทำนำเข้าข้อมูลจากเครื่อง master ไปยัง slave
หากไม่สำเร็จให้เปิด Log file ของ MySQL มาดู ทั้งใน Master และ slave
**************************
error ที่เกิดหลังจาก restart mysql
MySQL.Manager of pid-file quit without ประมาณนี้ครับ
-
ตัว ^M เกิดจากเอาแฟ้มมาจาก text file ที่พิมพ์จาก windows หรือ DOS ครับ มันคือสัญลักษณ์ของการขึ้นบรรทัดใหม่ ครับ สามารถลบออกได้
-
อาจารย์ครับ มันเกิด error ในเครื่อง Master ครับ ตามรูป หลังจากที่ผมเพิ่มบรรทัด
server-id=1
log-bin
sync_binlog=1
innodb_safe_binlog
ส่วนในเครื่อง slave แก้ my.cnf โดยการเพิ่มบรรทัดเข้าไป รีสตาร์ท mysql แล้วผ่านครับ
ผมแนบ my.cnf มาด้วยครับ
-
ที่ master
#mkdir /var/log/mysql
#chown mysql:mysql /var/log/mysql
#service mysql restart
-
ลองตามคุณ tanoy แล้ว ยังเหมือนเดิมครับ
อีกอย่างครับ ผมจะลบ swap ได้อย่างไร ตามรูป อธิบายให้ด้วยน่ะครับ
-
ผมลองทดสอบ ที่ master โดยเพิ่มทีละบรรทัด แล้ว restart mysql ปรากฏว่า
server-id=1
log-bin
sync_binlog=1 (รีสตาร์ทผ่าน)
แต่พอเปิดใช้โปรแกรม จะเกิดข้อผิดพลาด ดังนี้ครับ
error while create funtion get serialnumber can not retrieve result data
innodb_safe_binlog (รีสตาร์ทไม่ผ่านครับ)
เกิด error ดังนี้ครับ
starting mysql.manager of pid-file quit without updating fi .. failed
ปล ผม grant แล้วครับ ก็ไม่ผ่าน
-
ขอดูขั้นตอนการทำหน่อย(แบบละเอียดจะได้ดูว่าไม่ผ่านตอนไหน)
ขอดู .err ด้วยนะครับใน /var/lib/mysql/
-
config my.cnf เสร็จแล้ว stop service mysql ด้วย และใช้คำสั่งลบ ไฟล์ *ib ด้วยครับ น่าจะแก้ปัญหาได้
-
เดี๋ยวผมจะเขียน และเรียบเรียงแบบละเอียด
-
อันนี้เพิ่ม ที่ master
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db = hos
expire_logs_days = 10
max_binlog_size = 500M
sync_binlog=1
อันนี้เพิ่มที่ slave
server-id=2
master-host=192.168.1.1
master-user=sa
master-password=sa
replicate-do-db=hos
master-connect-retry=60
log-warnings
slave-skip-errors=all
-
config my.cnf เสร็จแล้ว stop service mysql ด้วย และใช้คำสั่งลบ ไฟล์ *ib ด้วยครับ น่าจะแก้ปัญหาได้
ไม่ต้องลบ ไฟล์ *ib เนื่องจากไม่เกี่ยวกับ config ที่เกี่ยวกับ ib เลย
ผมได้ slave มาใหม่จะทำ slave เลยทำตามวิธีการที่อาจารย์ MN โพสไว้ ตามวิธีด้านล่าง
แต่พอใช้คำสั่ง vi เพื่อคอนฟิกค่า my.cnf แล้วเพิ่มบรรทัดเข้าไป มันก็เกิด error รูปที่แนบมาต้องการรู้ว่าผมใช้
คำสั่ง vi ถูกหรือเปล่า
server-id=1
log-bin
sync_binlog=1
innodb_safe_binlog
server-id=2
master-host=192.168.0.1
master-user=sa
master-password=sa
replicate-do-db=hos
log-warnings
slave-skip-errors=all
ทำตาม น้อง Tanoy999 เลยครับ แล้วแจ้งผลด้วย
อันนี้เพิ่ม ที่ master
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db = hos
expire_logs_days = 10
max_binlog_size = 500M
sync_binlog=1
อันนี้เพิ่มที่ slave
server-id=2
master-host=192.168.1.1
master-user=sa
master-password=sa
replicate-do-db=hos
master-connect-retry=60
log-warnings
slave-skip-errors=all
-
อันนี้ my.cnf master แบบเต็มๆ tune เองนะครับ
################## start config #####################
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=tis620
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db = hos
expire_logs_days = 10
max_binlog_size = 500M
sync_binlog=1
skip-locking
key_buffer = 100M
max_allowed_packet = 64M
table_open_cache =1600
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 64M
thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
max_connections = 100
##########InnoDB Options###########
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 = 100M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_file_per_table
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 0
innodb_flush_method=O_DIRECT
innodb_doublewrite=0
innodb_support_xa = 0
innodb_open_files = 100
innodb_locks_unsafe_for_binlog=1
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 16M
log_bin_trust_function_creators = 1
[mysqldump]
quick
max_allowed_packet = 16M
allow-keywords
[mysql]
no-auto-rehash
default-character-set=tis620
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
##########################end config#############################
อันนี้ my.cnf slave แบบเต็มๆ tune เอง ด้วยนะครับ
################## start config #####################
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=tis620
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
server-id=2
master-host=192.168.1.1
master-user=sa
master-password=sa
replicate-do-db=hos
master-connect-retry=60
log-warnings
slave-skip-errors=all
skip-locking
key_buffer = 100M
max_allowed_packet = 64M
table_open_cache =1600
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 64M
thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
max_connections = 100
##########InnoDB Options###########
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 = 100M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_file_per_table
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 0
innodb_flush_method=O_DIRECT
innodb_doublewrite=0
innodb_support_xa = 0
innodb_open_files = 100
innodb_locks_unsafe_for_binlog=1
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 16M
log_bin_trust_function_creators = 1
[mysqldump]
quick
max_allowed_packet = 16M
allow-keywords
[mysql]
no-auto-rehash
default-character-set=tis620
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
##########################end config##################
ส่วนขั้นตอนกรรมวิธีก็ mail มานะครับ ยินดีให้คำแนะนำ ถึงแม้ผมอาจจะ config ไม่เต็ม 100 % แต่ผมก็พยายามทำเต็มที่ 100%
-
master to master
-ลดภาระของ server
-ใช้ 2 เครื่อง ขึ้นไป
-เครื่อง1 ให้บริการ opd
-เครื่อง 2 ให้บริการ ipd
ไม่รู้ถ้ารันจริงๆ กับ รพ.ทั่วไป ขึ้นไป จะใช้ได้ดี หรือเปล่า น่าคิด ยังไม่ได้ลองจริงๆ
ท่านอื่นว่าอย่างไรครับ
-
master to master
-ลดภาระของ server
-ใช้ 2 เครื่อง ขึ้นไป
-เครื่อง1 ให้บริการ opd
-เครื่อง 2 ให้บริการ ipd
ไม่รู้ถ้ารันจริงๆ กับ รพ.ทั่วไป ขึ้นไป จะใช้ได้ดี หรือเปล่า น่าคิด ยังไม่ได้ลองจริงๆ
ท่านอื่นว่าอย่างไรครับ
น่าสนใจผมเคยเห็นแบบ master to master 3 เครื่อง
1.OPD
2.IPD
3.ดึงข้อมูลและรายงาน
-
-ที่ทำไม่ได้สักทีติดที่
1.วัสดุ อุปกรณ์
2. คน
3. เวลา
;D ;D ;D ;D ;D ;D มันช่างลำบากยากเข็นนัก ตนแลที่เพิ่ง แห่งตน สาธุ
มันเกียวกันไหมนี่
-
-ที่ทำไม่ได้สักทีติดที่
1.วัสดุ อุปกรณ์
2. คน
3. เวลา
;D ;D ;D ;D ;D ;D มันช่างลำบากยากเข็นนัก ตนแลที่เพิ่ง แห่งตน สาธุ
มันเกียวกันไหมนี่
ถึงเรามีความสามารถมากแค่ไหนถ้าขาด
-การลงทุนอุปกรณ์ (ผู้บริหาร)
-คน
-เวลาที่มีอยู่จำกัดกับงานที่มากมาย
เดินทางสายกลาง ขันติ อุเบกขา
http://hosxp.net/smf/chat/
-
อยากทราบว่า ตารางโรคเรื้อรังที่นำส่ง ERROR 14000 เลยอยากทราบว่าต้องตรวจสอบอะไรบ้าง
และลงข้อมูลในโปรแกรม HOsxp หน้าไหนบ้างคะ .........