BMS-HOSxP Community
HOSxP => Linux => ข้อความที่เริ่มโดย: teerapun_top ที่ พฤษภาคม 08, 2011, 21:05:34 PM
-
ผมได้นำเข้าข้อมูลโดยวิธีการ emergency และวิธี Replicate หลังจากนั้นได้ทดสอบ Login เข้าไป พบปัญหาดังภาพ ทั้งสองวิธี ไม่ทราบว่าเกิดจากอะไรครับ
ใช้ Linux redhat CentOs 5.4 ลงตามวิธีการที่ได้อบรม Linux รุ่นที่ 2 ที่ BMS
-
mysql_upgrade ให้สามารถใช้ ฟังก์ชัน get_serialnumber หรือยังครับ ถ้าเป็น mysql 5.X แล้วน่าจะใช้ได้ครับ
-
ใช้ mysql v 5.1.42 ครับ แล้วฟังก์ชั่น get_serialnumber อยู่ตรงไหนครับ ;D
-
ลองเพิ่ม
log_bin_trust_function_creators = 1
ใน /etc/my.cnf ดูครับ
-
ขอบคุณครับ เดี๋ยวขอลองดูครับ ได้ผลยังไงจะแจ้งให้ทราบ ;D
-
ลองเพิ่ม
log_bin_trust_function_creators = 1
ใน /etc/my.cnf ดูครับ
เปิดดูในไฟล์ my.cnf มีอยู่แล้วครับ ตามไฟล์แนบ
-
grant super ให้ userที่ login เข้ามาหรือยังครับ
-
;D ;D ;D innodb ยังไม่ทำงานครับแก้ไขดังนี้ครับ
* ลบไฟล์ ib_logfile0 ib_logfile1 ibdata1 มีสามไฟล์ครับอยู่ใน /var/lib/mysql
* จากนั้นสั่งรีสตาร์ท mysql ดังนี้ service mysql restart
*จากนั้น Grant สิทธิ์ดังตัวอย่าง
mysql>grant all on *.* to sa@'%' identified by 'sa' with grant option;
mysql>grant super on *.* to sa@'%' identified by 'sa';
mysql>grant all privileges on *.* to sa@'%' identified by 'sa' with grant option;
mysql>flush privileges;
และเพิ่ม
mysql>set global log_bin_trust_function_creators = 1;
*จากนั้นสั่งรีสตาร์ท mysql อีกที่และเรื่มรีสโตฐานข้อมูลใหม่ครับ
ลองแบบนี้หรือยัง
ต้องทำทีละขั้นนะครับ
-
ทดลองทำแล้วเวลานำเข้าเจอ error ดังภาพครับ :o
-
แก้ได้แล้วครับ โดยการ
#service mysql stop
#rm /var/lib/mysql/ib*
#service mysql start
#mysql
mysql>create database (ชื่อdatabase);
mysql>use (ชื่อdatabase);
mysql>grant all on *.* to user@'%' identified by 'password' with grant option;
mysql>exit;
#service mysql restart
หลังจากนั้นก็ไปนำเข้าข้อมูล
โดยได้มีการปรับตั้งค่า my.cnf ซึ่งไม่แน่ใจว่าถูกต้องหรือไม่ครับ รบกวนท่านผู้รู้ช่วยดูให้หน่อยครับ
เครื่องที่นำมาทำ specคร่าวๆ
cpu core2duo
ram 2G
ค่าmy.cnf ที่ตั้งไว้
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=tis620
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer =126M
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size =2M
myisam_sort_buffer_size = 128M
max_allowed_packet = 128M
table_open_cache = 1600
thread_cache = 8
query_cache_size= 128M
thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
innodb_file_per_table
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
max_connections = 50
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:5M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 1000M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 128M
innodb_log_buffer_size = 8M
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 = 1600
innodb_locks_unsafe_for_binlog=1
innodb_file_per_table = 0
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 128M
log_bin_trust_function_creators = 1
[mysqldump]
quick
max_allowed_packet = 128M
allow-keywords
[mysql]
no-auto-rehash
default-character-set=tis620
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
-
หลังจากที่สามารถแก้ปัญหา get_serialnumber ได้ ก็มาเจอปัญหา innodb_file_per_table ต่ออีก แต่ก็ได้ไปค้นในกระทู้ พบวิธีแก้ไขตาม 2 กระทู้ด้านล่างนี้ :o
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=8813.0
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=4821.0
ขอขอบคุณทุกท่านที่ให้คำแนะนำครับ แต่ยังไงขอรบกวนเรื่อง ค่า my.conf ต่อนะครับ ตอนนี้เปิดกระทู้หาไม่ไหวแล้วตาลายครับ ไม่ได้นอนทั้งคืน...
-
หลังจากที่สามารถแก้ปัญหา get_serialnumber ได้ ก็มาเจอปัญหา innodb_file_per_table ต่ออีก แต่ก็ได้ไปค้นในกระทู้ พบวิธีแก้ไขตาม 2 กระทู้ด้านล่างนี้ :o
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=8813.0
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=4821.0
ขอขอบคุณทุกท่านที่ให้คำแนะนำครับ แต่ยังไงขอรบกวนเรื่อง ค่า my.conf ต่อนะครับ ตอนนี้เปิดกระทู้หาไม่ไหวแล้วตาลายครับ ไม่ได้นอนทั้งคืน...
โทร 0814344632 ช่วงหยุด 14-19 พค.นะครับ ลันล้า เชียงใหม่ โทรมาได้นะครับ
remote แก้ให้ได้นะครับ
โปรแกรมที่จำเป็น
http://www.teamviewer.com/download/TeamViewer_Setup.exe
http://cdnetworks-kr-2.dl.sourceforge.net/project/winscp/WinSCP/4.3.2/winscp432setup.exe
http://the.earth.li/~sgtatham/putty/0.60/x86/putty-0.60-installer.exe
-
ปัญหา innodb_file_per_table เข้าไปที่
# vi /var/lib/mysql/localhost.localdomain.err ดังรายละเอียด
-
;D ;D ;D innodb ยังมี error อยู่เลยครับลองทบทวนการคอนฟิกให้ดูอีกรอบเดี๋ยวจะบอกว่าตกหล่นตรงไหนครับ เอาตั้งแต่เริ่มติดตั้ง mysql server เลยยิ่งดีครับ
-
ท่าน musachi_t ลองนำไปปรับใช้ดูนะครับ
แก้ได้แล้วครับ โดยการ
#service mysql stop
#rm /var/lib/mysql/ib*
#service mysql start ----> เมื่อถึงขั้นตอนนี้ให้เข้าไปดูใน error ใน /var/lib/mysql/localhost.localdomain.err
#mysql --> เพื่อความปลอดภัยของระบบสูงสุด (ว่าเข้าไปนั่น) ก่อนเข้าใช้ mysql ควรใช้คำสั่ง
#mysqladmin -u root password ('yourpassword')
เพื่อป้องกันการเข้าถึง mysql server console เพราะหลังจากใช้คำสั่งดังกล่าวแล้ว จะไม่สามารถเข้าโดยการใช้เพียงแค่คำสั่ง mysql ได้ จะต้องเข้าโดย mysql -u root -p ระบบจะขึ้นมาให้ใส่รหัสผ่าน
และหลังจากเข้าไปใน mysql console แล้ว ให้ใช้คำสั่ง
mysql> use mysql;
mysql> select host,user,password from user;
ท่านจะพบ user และ host ต่าง ๆหลายรายการ ถ้าใช้ mysqladmin จากข้างบนแล้วจะมีเพียงรายการเดียวที่มีการใส่รหัสผ่านไว้ ถ้าเป็นผม และ แนะนำให้เลยครับว่าให้ลบรายการที่ไม่มีรหัสผ่านออกให้หมด โดย
mysql> delete from user where password = '';
mysql>create database (ชื่อdatabase);
mysql>use (ชื่อdatabase); ---> ใช้ use mysql; ก็ได้
mysql>grant all on *.* to user@'%' identified by 'password' with grant option;
เพิ่มอันนี้ด้วย mysql> grant SUPER on *.* to user@'%' identified by 'password';
เพื่อความปลอดภัยอีกขั้นหนึ่ง ปกติถ้าใช้ '%' หมายความว่าเครื่องไหนก็ได้ มาจากที่ไหนก็ได้ก็สามารถเข้าถึงระบบได้ ผมจะเปลี่ยนเป็น '192.168.%' แล้วแต่ว่าของใครจะใช้นะครับสามารถปรับตามความเป็นจริงของระบบท่าน ... เพราะถ้าทำแบบนี้แล้วเครื่องที่ไม่ใช่ ip 192.168.xxxx.xxxx ก็จะสามารถป้องกันการเข้ามาป่วน server เราได้อีกระดับหนึ่งครับ
ดูอีกทีให้แน่ใจว่าเราใส่รหัสผ่านครบหรือไม่ก็ให้ใช้
mysql> select host,user,password from user;
mysql>exit; ก่อนใช้คำสั่งนี้ ให้ใช้อันนี้ก่อน mysql> flush privileges;
#service mysql restart ถ้าใช้ คำสั่ง flush privileges แล้วก็ไม่ต้อง restart mysql หรอกครับ สิทธิทุกสิทธิใช้ได้เลย
หลังจากนั้นก็ไปนำเข้าข้อมูล อยากให้ใช้วิธีการ initial import จะดีกว่า ....
ส่วนการตั้งค่า my.cnf นั้นเดี๋ยวมาดูอีกที
;D ;D
จากที่ดูใน my.cnf ของท่านมีใส่ไว้สองที่เลย
innodb_file_per_table
innodb_file_per_table = 0
เอาออก 1 อัน แล้วกำหนดเป็น
innodb_file_per_table
หรือ
innodb_file_per_table = 1
;D ;D ;D
-
ผมแนะนำให้ลองใช้ BMSxTrabackupGUI ทำการติดตั้ง MySQL ใหม่แล้ว Initialize HOS DB แล้วจึงค่อยทำการ Restore ข้อมูลนะครับ
http://hosxp.net/bms/BMSxTraBackupGUI-3.54.5.12.zip
(ต้อง run program as administrator นะครับ)
-
ลบ
innodb_file_per_table = 0
-
ขอบคุณมากครับสำหรับทุกคำตอบ เดี๋ยวจะลองทำตามดูครับ ได้ผลยังไงจะรายงานให้ทราบอีกทีครับ
วันนี้ขอนอนก่อน ไม่ไหวแล้ว ง่วงงงงง ;D
-
พี่ครับทดสอบใส่ ลง my.cnf ดูครับ
นำเข้าข้อมูลไปก่อน แล้วเอาออกครับ หลังจากนำเข้าได้แล้ว
big-tables
skip-innodb
ต้องลบ
rm -rf /var/lib/mysql/ib* ออก แล้ว restart mysql ใหม่ ด้วยครับ
ไม่เช่นนั้น innodb ที่ปรับมันจะไม่ทำงานครับ
-
เอ ตอนนี้เริ่มสงสัยว่า ตกลงแล้วขั้นตอนในการลง server ที่ถูกต้องเนี่ยต้องเริ่มกันยังไง ส่วนที่ผมทำอยู่ตามที่ไปอบรมมาเนี่ย
1.ลง CentOs 5.4
2.ลง Mysql
#rpm -ivh MySQL-shared-percona-5.1.42-9.rhel5.i386.rpm --nodeps --force
#rpm -ivh MySQL-client-percona-5.1.42-9.rhel5.i386.rpm --nodeps --force
#rpm -ivh MySQL-sever-percona-5.1.42-9.rhel5.i386.rpm --nodeps --force
3.สร้าง database
Mysql>create databases (ชื่อ);
Mysql>grant all on *.* to (user)@'%' identified by 'password' with grant option;
Mysql>exit;
#service mysql restart;
4.นำเข้าข้อมูลโดย
ใช้ emergency mode
####################################################
ตอนนี้เริ่มเกิดข้อคำถามหลายอย่างจากที่ได้รับคำแนะนำมาว่า
1.ไฟล์ที่อยู่ใน # /var/lib/mysql/ ib* ibdatata1 ,ib_logfile0,ib_logfile1 คือไฟล์อะไร มีความสำคัญยังไง
มันเกี่ยวข้องกับ innodb ยังไง แล้วมันจะเริ่มบันทึกข้อมูลตอนไหน
2.ปัญหา get_serialnumber เกี่ยวข้องกับการตั้งค่า innodb ใช่ไหม ยังไง
3.การจะติดตั้ง Sever เนี่ย เราจะรู้ได้อย่างไรว่าเราควรใช้ Linux เวอร์ชั่นไหน ใช้ Mysql เวอร์ชั่นไหน หรือ package อื่นๆที่ต้องการติดตั้งเพิ่มเติม เพื่อการทำงานให้สัมพันธ์กัน ปัญหาที่ผมเจออยู่เนี่ยเกิดจากการใช้ Linux ที่ไม่สัมพันธ์กับ Mysql หรือป่าวครับ
รบกวนท่านผู้รู้ช่วยอธิบายหน่อยครับ จะได้เข้าใจระบบมากขึ้น ขอบคุณพี่ๆใจดีทุกคนครับ
-
;D ;D ;D ทำตามนี้ลองดูครับท่านบ่อไร่ กีฬาชายแดนปีนี้เจอกันที่โนนดินแดงครับผม
-
;D ;D ;D ทำตามนี้ลองดูครับท่านบ่อไร่ กีฬาชายแดนปีนี้เจอกันที่โนนดินแดงครับผม
ครับ ผมไปแข่งทุกปีเลยครับพี่ เล่น บอล บาส วอลเล่ย์ ปีที่แล้วตะคริวขึ้นเลย ขอบคุณนะครับสำหรับคำตอบ
-
Mysql>grant SUPER on *.* to (user)@'%' identified by 'password';
-
เอ ตอนนี้เริ่มสงสัยว่า ตกลงแล้วขั้นตอนในการลง server ที่ถูกต้องเนี่ยต้องเริ่มกันยังไง ส่วนที่ผมทำอยู่ตามที่ไปอบรมมาเนี่ย
1.ลง CentOs 5.4
2.ลง Mysql
#rpm -ivh MySQL-shared-percona-5.1.42-9.rhel5.i386.rpm --nodeps --force
#rpm -ivh MySQL-client-percona-5.1.42-9.rhel5.i386.rpm --nodeps --force
#rpm -ivh MySQL-sever-percona-5.1.42-9.rhel5.i386.rpm --nodeps --force
3.สร้าง database
Mysql>create databases (ชื่อ);
Mysql>grant all on *.* to (user)@'%' identified by 'password' with grant option;
Mysql>exit;
#service mysql restart;
4.นำเข้าข้อมูลโดย
ใช้ emergency mode
####################################################
ตอนนี้เริ่มเกิดข้อคำถามหลายอย่างจากที่ได้รับคำแนะนำมาว่า
1.ไฟล์ที่อยู่ใน # /var/lib/mysql/ ib* ibdatata1 ,ib_logfile0,ib_logfile1 คือไฟล์อะไร มีความสำคัญยังไง
มันเกี่ยวข้องกับ innodb ยังไง แล้วมันจะเริ่มบันทึกข้อมูลตอนไหน
2.ปัญหา get_serialnumber เกี่ยวข้องกับการตั้งค่า innodb ใช่ไหม ยังไง
3.การจะติดตั้ง Sever เนี่ย เราจะรู้ได้อย่างไรว่าเราควรใช้ Linux เวอร์ชั่นไหน ใช้ Mysql เวอร์ชั่นไหน หรือ package อื่นๆที่ต้องการติดตั้งเพิ่มเติม เพื่อการทำงานให้สัมพันธ์กัน ปัญหาที่ผมเจออยู่เนี่ยเกิดจากการใช้ Linux ที่ไม่สัมพันธ์กับ Mysql หรือป่าวครับ
รบกวนท่านผู้รู้ช่วยอธิบายหน่อยครับ จะได้เข้าใจระบบมากขึ้น ขอบคุณพี่ๆใจดีทุกคนครับ
;D ;D ;D ;D
-
วันนี้พี่บอย รีโมทมาช่วยค่อยเบาใจหน่อย เริ่มเห็นทางออก ;D ;D ;D ;D
-
ตอนนี้พอทำได้บ้างแล้วครับ ปัญหาหลักคืออยู่ที่ my.cnf ครับ ต้องขอบคุณพี่ๆทุกท่านครับ โดยเฉพาะพี่บอยที่ remote เข้ามาช่วยในช่วงวันหยุด ;D ;D ;D ;D
-
ตอนนี้พอทำได้บ้างแล้วครับ ปัญหาหลักคืออยู่ที่ my.cnf ครับ ต้องขอบคุณพี่ๆทุกท่านครับ โดยเฉพาะพี่บอยที่ remote เข้ามาช่วยในช่วงวันหยุด ;D ;D ;D ;D
ยินดีด้วยนะครับ
ปัญหาคือบทเรียน
สู้ต่อไป ถ้าเป็น ADMIN
-
สรุปแล้วต้องปรับค่าอะไรใน My.cnf ครับ ;D
ตอนนี้พอทำได้บ้างแล้วครับ ปัญหาหลักคืออยู่ที่ my.cnf ครับ ต้องขอบคุณพี่ๆทุกท่านครับ โดยเฉพาะพี่บอยที่ remote เข้ามาช่วยในช่วงวันหยุด ;D ;D ;D ;D
-
สรุปแล้วต้องปรับค่าอะไรใน My.cnf ครับ ;D
ตอนนี้พอทำได้บ้างแล้วครับ ปัญหาหลักคืออยู่ที่ my.cnf ครับ ต้องขอบคุณพี่ๆทุกท่านครับ โดยเฉพาะพี่บอยที่ remote เข้ามาช่วยในช่วงวันหยุด ;D ;D ;D ;D
อยากรู้ ก็โทรมา จะ remote แก้ให้สดๆๆๆ เลย
ก็น่าจะเร็วกว่าของเดิมที่ใช้อยู่สักเล็กน้อย
-
ขอบคุณครับ ;D ;D แต่ช่วงนี้ขอเครียร์งานประจำก่อนครับ งานเข้า :o