Linux新手。这个问题拖到现在终于下定决心解决,用了一个下午加上一个晚上减去去电影院看一部电影和吃晚饭的时间。还是蛮久的。
首先说一下,在CentOS7下,用yum安装的mysql都变成了mariaDB,最开始我还怕phpmyadmin不支持maria,后来网上一查是支持的。
那么话不多说,首先是安装php、apache服务器(httpd)和phpmyadmin,因为这个比较简单嘛。
那么在我现在这个时间点,yum安装出的php版本是5.4的。这个可以安装以后通过rpm -qa|grep php查看。
而在我这个时间点,最新版本的phpmyadmin需要php5.5+的版本,于是乎,要下载一个稍微旧一点的版本。这个在官网上都有。
httpd安装以后,配置文件是/etc/httpd/conf/httpd.conf,而根目录并不是网上说的/var/www/而是/var/www/html/,所以把下载好并且解压过的phpmyadmin文件夹放于此处,然后改个方便的名字便于访问。我在此将文件夹名字改成phpmyadmin。然后执行service httpd start。好你是不是以为可以访问phpmyadmin了?
当然不能访问,会提示你403forbidden,这个时候,要去刚刚说的配置文件里修改,将你看到的
<Directory />
AllowOverride none
Require all denied
</Directory>
改为
<Directory />
AllowOverride none
Order allow,deny
Allow from all
</Directory>
然后保存退出,重启service httpd restart。浏览器里再打开localhost/phpmyadmin,如果你发现有selinux干扰你,你就执行sentenforce 0就好了。
当然也有可能提示你缺少mbstring。这个只需要yum install php-mbstring就好了。
那么再来说说mariaDB,首先通过yum install mysql,自动装上mariaDB而不是mysql。
装好以后,尝试service mariadb start好像不管用,其实在centOS7下命令应该是systemctl start mariadb.service。那么你发现其实还是开启不起来?
好吧你应该检查下你的mariaDB有没有装齐全,rpm -qa|grep mariadb看一下。我当时居然只装了可怜的两个包,事实上需要装8个包:
mariadb-libs-5.5.44-1.el7_1.x86_64
mariadb-embedded-5.5.44-1.el7_1.x86_64
mariadb-5.5.44-1.el7_1.x86_64
mariadb-bench-5.5.44-1.el7_1.x86_64
mariadb-embedded-devel-5.5.44-1.el7_1.x86_64
mariadb-devel-5.5.44-1.el7_1.x86_64
mariadb-test-5.5.44-1.el7_1.x86_64
mariadb-server-5.5.44-1.el7_1.x86_64
版本号随你装的版本而改变。如果你发现没装的,你就挨个yum install吧。。。(其实我个人觉得test是不是可以不装,但是完整的数据库好像都有test)
装好啦,再次systemctl start mariadb.service,你会发现为什么还是不行!
其实是没有指定数据库的存放位置和名字啦,执行命令:mysql_install_db --datadir="/var/lib/mysql" --user="mysql"
指定以后好像终于可以了。但是在第一次时候别忘了给你的root定个密码:mysqladmin -u root password '1234'
这下子是真的大功告成了。可以用刚设置的root和密码登陆phpmyadmin了。彻底完成。
查看mariadb运行状态可以用systemctl status mariadb.service
结果如下:
Linux系统教程:如何检查MariaDB服务端版本
MariaDB Proxy读写分离的实现
Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10