mariadb和mysql师出同门。使用的命令方法可以说是一模一样的。
安装mariaDB服务程序:
[root@linuxprobe ~]# yum install mariadb mariadb-server
启动mariadb服务程序并添加到开机启动项中:
[root@linuxprobe ~]# systemctl start mariadb
[root@linuxprobe ~]# systemctl enable mariadb
初始化工作:
第1步:设定root用户密码。
第2步:删除匿名帐号。
第3步:禁止root用户从远程登录。
第4步:删除test数据库并取消对其的访问权限。
第5步:刷新授权表,让初始化后的设定立即生效。
初始化数据库服务程序:
[root@linuxprobe ~]# mysql_secure_installation
设置防火墙对数据库服务的允许策略:
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=mysql
success
[root@linuxprobe ~]# firewall-cmd --reload
使用root用户登录到数据库中:
[root@linuxprobe ~]# mysql -u root -p
Enter password: 此处输入root用户在数据库中的密码。
Welcome to the MariaDB monitor. Commands end with or \g.
可以试试注意我,这个Linux是7版的Linux可以用centos7 试试。如果你需要在6版的系统中使用的话就需要源码安装了。学习Linux建议参考《Linux就该这样学》,运维开发都需要多练习,多思考,多敲。加油吧
Mysql被Oracle收购了以后,有闭源的风险,所以现在已经用mariaDB代替Mysql(其实都是一个东西,就和RHEL和Centos差不多)了,安装方法如下:安装MariaDB
CentOS 7.0中,已经使用MariaDB替代了MySQL数据库
1、安装MariaDB
yum install mariadb mariadb-server #询问是否要安装,输入Y即可自动安装,直到安装完成
systemctl start mariadb.service #启动MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重启MariaDB
systemctl enable mariadb.service #设置开机启动
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
2、为root账户设置密码
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!
MySql密码设置完成,重新启动 MySQL:
systemctl restart mariadb.service #重启MariaDB
MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司开发的免费开源的数据库服务器。Red Hat 企业发行版RHEL 7 将用 MariaDB 替代 MySQL,一旦 RHEL 完成切换,基于 RHEL 的社区版 CentOS 将会紧跟着作出改变。所以呢,使用 CentOS 系统的这个 VPS 或迟或早都是要切换到 MariaDB 的,大势所趋啊。这个 VPS 安装的是 CentOS,目前版本是 6.4,MySQL 版本是 5.5.31(使用了 remi 源),虚拟机的配置与此极度相似。刚开始不太了解,执行了这个比较傻的 *** 作方式。参考 MariaDB 官方文档:How can I upgrade from MySQL to MariaDB?
0. 先备份数据库¶
数据库包含了自己的几乎所有重要内容,不管进行的 *** 作是否有风险,先备份总是很必要的。
可以通过 phpMyAdmin 导出数据库。
也可以直接在系统里将所有数据库文件备份一份:
cp -R /var/lib/mysql /var/lib/mysql.bak
A. 先配置 MARIADB 的安装源。¶
MariaDB 官方提供了一个自动生成安装源配置文件的工具:https://downloads.mariadb.org/mariadb/repositories/。依次选择 Linux 发行版(Distro)、版本(Release),然后选择 MariaDB 版本号(目前只有 10.0 和 5.5)即可。(注意,MariaDB 10 是开发版本。)
MariaDB YUM 安装源的位置:http://yum.mariadb.org/。打开后看到的是 MariaDB 版本列表,按照需要的版本号点击进入下一层文件夹。
然后根据自己的 Linux 发行版,如 CentOS、Fedora、rhel(Red Hat Enterprise Linux)以及系统架构如 x86(表示 32 位 *** 作系统) 或 amd64(表示 64 位 *** 作系统)选择对应的文件夹。
例如,目前 MariaDB 的主版本是 5.5,我的 CentOS 是第 6 版(6.4)、 32 位的,就选择文件夹 centos6-x86/ 。现在浏览器中的地址显示为 http://yum.mariadb.org/5.5/centos6-x86/,这就是下面配置文件中的 baseurl。
对于本例,将下面的安装源配置保存为 MariaDB.repo,上传到服务器的 /etc/yum.repos.d 文件夹:
[mariadb]
name = MariaDB
enable=1
priority=3
baseurl = http://yum.mariadb.org/5.5/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
其中 priority=3 是针对 YUM 的 PRIORITIES 优先级插件的。
B. 卸载原来的 MYSQL 及相关包。¶
# yum remove mysql*
上面用 * 来匹配删除所有 mysql 数据包(包括因包依赖而删除的别的包,如 postfix)。因为直接安装的时候会出现冲突,例如:
file /usr/share/mysql/ukrainian/errmsg.sys from install of MariaDB-server-5.5.31-1.i686 conflicts with file from package mysql-libs-5.5.32-1.el6.remi.i686
嗯,好像因为将 php-mysql 也给删除了(实际上这个不该删除的),所以 phpMyAdmin 也因为依赖关系而被删除了,我没仔细看。
所以最好不要用通配符 *,而是选择性删除几个主要的,
# yum remove mysql mysql-server mysql-libs
但是这个我没有再测试,因为后面有更好的方法。
C. 然后安装 MARIADB 及相应 PHP 扩展。¶
也是指定几个主要的安装包,剩下的让 yum 自己进行依赖关系检查。
# yum install MariaDB-server MariaDB-client php-mysql
或者不安装 MariaDB-server 而改为具有同步多主群集特性(synchronous multi-master cluster)的 MariaDB Galera Cluster:
# yum install MariaDB-Galera-server MariaDB-client galera
这里比较搞笑的是,没注意前面把 php-mysql 给卸载了,结果运行数据库之后访问 WordPress,结果遭遇下面的错误:
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
D. 完成,修补¶
不管版本是否升级了,执行一下数据库升级指令总没有坏处:
# mysql_upgrade -p
看看数据库版本是不是升级了:
# mysql -u root -p -e 'show global variables like "version"'
Enter password:
+---------------+----------------+
| Variable_name | Value |
+---------------+----------------+
| version | 5.5.31-MariaDB |
+---------------+----------------+
将 MariaDB 加入随系统自启动列表,
# chkconfig --levels 345 mysql on
嗯,以前 MySQL 的时候是 mysqld,现在是 mysql,就差了一个字母 d。
启动它,
# service mysql start
这个时候服务器上的网站应该已经可以正常工作了,访问数据库没有问题。
如果有必要,安装完 MariaDB 之后可以重新安装 postfix。如果发现 phpMyAdmin 提示无访问权限了,那就是被卸载了,需要重新安装和配置 phpMyAdmin。phpMyAdmin 之所以也会被删除,是因为之前安装的是针对 MySQL 的,不兼容 MariaDB,所以需要重新安装。
E. 配置文件¶
因为之前进行了卸载 *** 作,所以原来的 phpMyAdmin 的配置文件都被清除了,需要重新配置。
而对于 MySQL 的配置文件 /etc/my.cnf,因为 MariaDB 虽然创建了一个 my.cnf.d 文件夹来存储自己的配置文件,但是它会首先加载 my.cnf,且原来 MySQL 的配置对 MariaDB 而言还是有效的。
但是也有些例外:
MariaDB 默认使用 Aria 存储引擎存储内部临时文件,而不是 MySQL 默认使用的 MyISAM。如果你有很多临时文件,最好增加参数 aria-pagecache-buffer-size 并设置为与 key-buffer-size 相同的数值。
如果没有使用 MyISAM,则可以将 key-buffer-size 设置为一个极小的值,如 64K。
3. 较好的升级方法¶
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)