Chủ Nhật, 29 tháng 11, 2015

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

07:05


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:
1. Cài đặt Openwrt nhận và mở rộng bộ nhớ lên USB (cần usb 2gb trở lên là ok)
- Các bạn sử dụng MiniTool Partition Wizard trên Win, format usb thành 2 partition theo thứ tự: 1 Linux Ext4 và 1 Linux Swap (khoảng 500Mb còn lại) và xong cắm usb vào Router.

Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:



opkg update


mkdir -p /mnt


chmod -R 777 /mnt/



opkg install kmod-usb-storage block-mount kmod-fs-ext4



reboot



#đợi khởi động lại xong, chạy tiếp lệnh







/etc/init.d/fstab enable



mkdir -p /mnt/sda1

mount /dev/sda1 /mnt/sda1

mkdir -p /tmp/cproot

mount --bind / /tmp/cproot

tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf -

# copy rootfs to USB

umount /tmp/cproot

umount /mnt/sda1




Dùng WinSCP login vào Router, tìm đến file /etc/config/fstab
Xóa hết và paste nội dung sau
Code:


config 'global'

        option  anon_swap       '1'

        option  anon_mount      '1'

        option  auto_swap       '1'

        option  auto_mount      '1'

        option  delay_root      '5'

        option  check_fs        '0'



config 'mount'

        option target '/overlay'

        option device '/dev/sda1'

        option  fstype  'ext4'

        option  options  'rw,sync'

        option  enabled  '1'

        option  is_rootfs  '1'

        option  enabled_fsck  '1'



config 'swap'

        option device '/dev/sda2'

        option enabled '1'





Save lại, khởi động lại router, đăng nhập router vào MountPoint, sẽ thấy thay đổi về dung lượng giống thế này chúng ta đã chuyển hết file hệ thống của Openwrt lên USB, sẽ thoải mái về dung lượng cho các bác cài đặt phần mềm:

Dùng WinSCP login vào Router, tìm đến file /etc/config/fstab
(file fstab này là trên USB khác với file fstab vừa edit vừa rồi, chúng ta edit để bật Swap)
Xóa hết và paste nội dung sau rồi save lại:
Code:


config swap

option enabled '1'

option device '/dev/sda2'


Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:



mkswap /dev/sda2

swapon /dev/sda2

reboot



Khởi động lại router là xong phần cài đặt Openwrt mở rộng bộ nhớ qua USB
2. Cài đặt Mysql và Samba server.
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) 














0 nhận xét:

Đăng nhận xét