Sunday, November 29, 2015

Cài đặt MySQL trên RPI chạy OSMC, Openwrt hoặc NasBuffalo

Giới thiệu:
Ở bài viết Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI, mình đã hướng dẫn các bạn dùng MYSQL để đồng bộ KODI database, bài viết này hướng dẫn chi tiết cách cài đặt Mysql trên các nền OS thường dùng tại mạng gia đình.
Nếu Router của bạn cài OpenWrt, và có cổng USB thì tốt nhất nên cài Mysql lên Router để share database, nên mỗi khi bạn bật KODI lên, kết nối vào mạng là database sẽ đồng bộ lên luôn, cả userdata cũng vậy.
Nếu Router không đáp ứng được thì chúng ta chuyển sang phương án tiếp theo là cài trên RPI hoặc Nas (nếu có).

Cài MySql Server cho Raspberry Pi chạy OSMC:
    
Trên OS Openelec là OS build sẵn nên không cài được Mysql Server, Các bác có thể cài OSMC tương tự Openelec nhưng tùy biến cao hơn. Nếu NAS chạy Debian cũng sử dụng cách này (NasBufflo của mình đang dùng cái này, nhẹ mà nhanh hơn cái Firmware của hãng).
1. Dùng Pytty Login vào thiết bị:
apt-get update
apt-get install mysql-server
# khai báo pass khi có thông báo hỏi
2. Config Mysql
Sau khi cài xong, dùng WinSCP login vào thiết bị, edit file /etc/mysql/my.cnf
Thay đổi dòng
Từ: bind-address = 127.0.0.1
thành: bind-address = 0.0.0.0
Sau đó khởi động lại MySQL server và tiến hành config mysql server, trên pytty gõ lệnh:
Code:
/etc/init.d/mysql restart  
#hoặc 
/etc/init.d/mysqld restart
mysql -u root -p
# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé
mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
mysql> GRANT ALL ON *.* TO 'kodi';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';
mysql> flush privileges;
mysql> exit
#exit ra ngoài


Xong, các bạn config tiếp advancedsettings.xml trên KODI, phần IP là IP của thiết bị chạy MYSQL Server là xong thôi.

Cài đặt MYSQL trên NAS:
Mình hướng dẫn cho Nas Bufflo, các loại khác cũng tương tự thôi. Trước hết các bác cần mở Telnet/SSH các dòng NAS chạy firmware Linux Buffalo.
Firmware mặc định của NAS đã cài sẵn MYSQL rồi, các bạn chỉ việc bật nó lên thôi.
1. Enable MySQL:
Truy cập NAS qua WEB: Vào phần [Network] - [MySQL server].
- Click [Modify Settings].
- Enable MySQL server.
- Chọn folder cho MySQL database và configuration.
- Click [Save].
2. Config MYSQL Server cho KODI
Sau khi khởi động lại NAS, dùng Pytty Login vào NAS: Chạy lệnh
Code:
mysql -u admin -p
#để login vào mysql
# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé
mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
mysql> GRANT ALL ON *.* TO 'kodi';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';
mysql> flush privileges;
mysql> exit
#exit ra ngoài

Xong, các bạn config tiếp advancedsettings.xml trên KODI, phần IP là IP của NAS là xong thôi.
Cài đặt MYSQL trên OpenWRT:
- Cài đặt Openwrt nhận và mở rộng bộ nhớ lên USB (cần usb 2gb trở lên là ok)
- Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:
opkg update
#cập nhật các gói ứng dụng
opkg install mysql-server samba36-server luci-app-samba
#đợi cho cài xong
/etc/init.d/mysqld stop
killall mysqld

Dùng WinSCP login vào Router, tìm đến file /etc/my.cnf
mở file lên tìn đến dòng
Code:
bind-address        = 127.0.0.1
sửa lại thành
bind-address        = 0.0.0.0
Xong Save lại, chuyển sang Pytty, gõ lệnh:
Code:
mysql_install_db --force
# để config lần đầu chạy mysql
killall mysqld
/etc/init.d/mysqld restart
mysql -u root -p
#xong nhấn 2 lần enter, bỏ qua ko điền pass, sẽ vào mysql dạng:
# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé
mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
mysql> GRANT ALL ON *.* TO 'kodi';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';
mysql> flush privileges;
mysql> exit
#exit ra ngoài
/etc/init.d/mysqld enable
/etc/init.d/mysqld restart

Config Samba: Chúng ta sẽ share Folder /mnt (folder mount USB), thành tên USB, sau khi share xong, từ Win các bạn có thể truy cập như ổ đĩa share bình thường.
Ở Pytty, gõ lệnh
Code:
smbpasswd -a root
#để đặt pass share samba
/etc/init.d/samba enable
/etc/init.d/fstab enable

Truy cập Router qua WEB, vào phần Services/Network Shares

Nhấn Add , điền thông tin share như hình, xong save lại, chuyển sang tab Edit Tamplate
Tại đây sửa cho mình thế này: sửa dòng invalid users = root thành valid users = root, xong save lại, và khởi động lại router.
Sau khi khởi động lại, từ Windows explorer của Win, thử gõ địa chỉ
\\192.168.1.1\USB\
điền user root và pass root bạn đặt lúc trước, nếu vào được là ok, tạo luôn folder userdata để làm tiếp theo hướng dẫn Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI (XBMC)