步驟就是照著wiki 所講,一步一步往下做:
https://wiki.archlinux.org/index.php/MySQL
首先因為Archlinux 已經改用mariadb ,MySQL 移去AUR,不過我試過,用yaourt -S mysql 也會裝mariadb ,一個由不得你的概念。
sudo pacman -S mariadb
使用mysql_install_db 設定好/var/lib/mysql
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
用systemd 啟動mariadb service
systemctl start mariadb
最後可以用mysql_secure_installation來進行安全設定我在start mariadb 這步遇上問題,service 總是起不來,出現類似這樣的訊息,要不就是start mariadb 直接hang住:
Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details."
使用systemctl status mariadb.service 之後,它會列出哪行指令出了錯,我記得沒錯的話是 /usr/sbin/mysqld,總之它開不了 /var/lib/mysql 中的某些檔案。See "systemctl status mariadb.service" and "journalctl -xe" for details."
後來發現原因是,在安裝mariadb 的時候,理論上它要加上mysql 這個使用者,但原因不明的沒有加上去,因此我們要手動幫它補上:
groupadd -g 89 mysql
useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql
chown mysql:mysql /var/lib/mysql
useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql
chown mysql:mysql /var/lib/mysql
然後重跑上面的mysql_install_db,就能順利的把mariadb 跑起來了
沒有留言:
張貼留言