ติดตั้ง MySQL 5.1 บน Fedora 10

ด้วยข้อดีหลายๆ อย่างที่มีเพิ่มใน MySQL เวอร์ชั่น 5.1 ไม่ว่าจะเป็น partitioning, replication, storage engine, และอื่นๆ ทางเราแนะนำให้ upgrade เป็นเวอร์ชั่นใหม่

บทความนี้จะแนะนำวิธีการ upgrade MySQL บน  Fedora 10 ซึ่งเวอร์ชั่นที่มากับแผ่นดีวีดีติดตั้งจะเป็นเวอร์ชั่น 5.0.67 โดยจะปรับปรุงเฉพาะ MySQL แต่จะไม่มีการปรับปรุง ส่วนอื่นๆ ที่มาต่อเชื่อม เช่น  PHP ยังคงใช้ไฟล์ rpm ชื่อ php-mysql ที่อยู่ในแผ่นติดตั้ง Fedora 10 สร้างมาสำหรับ MySQL 5.0

ตรวจสอบ MySQL ที่ติดตั้งและสำรองข้อมูล

ใช้คำสั่ง rpm เพื่อตรวจสอบว่ามี MySQL ติดตั้งอยู่หรือไม่

[root@mysql5 ~]# rpm -qa | grep -i mysql
mysql-5.0.67-2.fc10.x86_64
mysql-server-5.0.67-2.fc10.x86_64
php-mysql-5.2.6-5.x86_64
mysql-libs-5.0.67-2.fc10.x86_64
perl-DBD-MySQL-4.005-8.fc9.x86_64

ปิดเว็บเซิร์ฟเวอร์หรือโปรแกรมอื่นๆ ที่มีการเชื่อมต่อเข้ากับ database ตัวนี้

[root@mysql5 ~]# service httpd stop
Stopping httpd:                                            [  OK  ]

ใช้คำสั่ง mysqldump เพื่อสำรองข้อมูลของ database ทั้งหมด บันทึกเป็นไฟล์เก็บไว้

[root@mysql5 ~]# mysqldump -u root -p --all-databases > mysql-5.0-dump.sql

ปิดเซอร์วิส MySQL Database Server

[root@mysql5 ~]# service mysqld stop
Stopping MySQL:                                            [  OK  ]

ถอดโปรแกรม MySQL และโปรแกรมที่เกี่ยวข้องที่ติดตั้งอยู่

ใช้คำสั่ง rpm -ev เพื่อถอดโปรแกรม MySQL และโปรแกรมที่เกี่ยวข้องออก

[root@mysql5 ~]# rpm -ev mysql-server
warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
[root@mysql5 ~]# rpm -ev mysql
[root@mysql5 ~]# rpm -ev perl-DBD-MySQL
[root@mysql5 ~]# rpm -ev php-mysql
[root@mysql5 ~]# rpm -ev mysql-libs
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave

ติดตั้ง MySQL 5.1

ดาวน์โหลด MySQL 5.1 จากเว็บไซต์  สามารถดูเว็บไซต์ดาวน์โหลดได้ในข้อมูลอ้างอิง สำหรับการติดตั้งบน Fedora 10 แนะนำให้เลือกเป็นไฟล์ rpm ที่สร้างขึ้นมาสำหรับ Red Hat Enterprise Linux 5 RPM โดยไฟล์ที่ต้องดาวน์โหลดมาประกอบด้วย

  • Server
  • Client
  • Shared compatibility

หมายเหตุ เวอร์ชั่นล่าสุด ณ ตอนที่เขียนบทความนี้เป็นเวอร์ชั่น 5.1.31

ใช้คำสั่ง rpm -ivh เพื่อติดตั้งไฟล์ rpm ที่ดาวน์โหลดมา ตามลำดับดังนี้

[root@mysql5 rhel5]# rpm -ivh MySQL-client-community-5.1.31-0.rhel5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MySQL-client-community ########################################### [100%]
[root@mysql5 rhel5]# rpm -ivh MySQL-shared-compat-5.1.31-0.rhel5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MySQL-shared-compat    ########################################### [100%]
[root@mysql5 rhel5]# rpm -ivh MySQL-server-community-5.1.31-0.rhel5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:MySQL-server-community ########################################### [100%]
ERROR: 1136  Column count doesn't match value count at row 1
090214 11:59:07 [ERROR] Aborting
090214 11:59:07 [Warning] Forcing shutdown of 2 plugins
090214 11:59:07 [Note] /usr/sbin/mysqld: Shutdown complete
Installation of system tables failed!  Examine the logs in
/var/lib/mysql for more information.
You can try to start the mysqld daemon with:
    shell> /usr/sbin/mysqld --skip-grant &
and use the command line tool /usr/bin/mysql
to connect to the mysql database and look at the grant tables:
    shell> /usr/bin/mysql -u root mysql
    mysql> show tables
Try 'mysqld --help' if you have problems with paths.  Using --log
gives you a log in /var/lib/mysql that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com/.  Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS.  Another information source are the
MySQL email archives available at http://lists.mysql.com/.
Please check all of the above before mailing us!  And remember, if
you do mail us, you MUST use the /usr/bin/mysqlbug script!
Starting MySQL.[  OK  ]
Giving mysqld 2 seconds to start

หลังจากติดตั้ง เซอร์วิส MySQL จะรันขึ้นมาโดยอัตโนมัติ

ตรวจสอบไฟล์ rpm ของ MySQL 5.1 ที่ปรับปรุง

[root@mysql5 rhel5]# rpm -qa | grep -i mysql
MySQL-shared-compat-5.1.31-0.rhel5.x86_64
MySQL-client-community-5.1.31-0.rhel5.x86_64
MySQL-server-community-5.1.31-0.rhel5.x86_64

ใช้คำสั่ง mysql เพื่อตรวจสอบเวอร์ชั่น และรายละเอียดอื่นๆ ของ database server ที่ปรับปรุงไป

[root@mysql5 rhel5]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.31-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select version();
+------------------+
| version()        |
+------------------+
| 5.1.31-community |
+------------------+
1 row in set (0.00 sec)
mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)
mysql> exit

ติดตั้ง rpm ของ โปรแกรมอื่นๆ กลับเข้าไปเหมือนเดิม เช่น php-mysql ไฟล์จะอยู่ในแผ่นดีวีดีติดตั้ง

[root@mysql5 ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@mysql5 ~]# cd /media/Packages/
[root@mysql5 Packages]# rpm -ivh php-mysql-5.2.6-5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:php-mysql              ########################################### [100%]
[root@mysql5 Packages]# cd /
[root@mysql5 /]# umount /media/
[root@mysql5 /]#

รันเว็บเซิร์ฟเวอร์กลับเหมือนเดิม

[root@mysql5 /]# service httpd start
Starting httpd:                                            [  OK  ]

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.