大概从 2010年开始就在用这个数据库了,也就是有了自己的独享vps之后,最开始是用的 mysql5.0.x系列,后来某一天在一篇国外文章里看到了这个数据库,那之后下载测试了下,之后一直用到今天,算起来已经快6年了。期间也从未写过任何一篇哪怕是最基础的文章,今天打算写篇升级和改数据库 data路径的文章,偶因为从来只会 windows iis,所以今天讲的版本也是 .msi这种安装方式,或者 .zip也可以。
mariadb5.0.x是早期的,现在用的是最新的 mariadb-10.0.24-winx64,这个版本较之前稳定和速度快些,它的最大好处是兼容 mysql系列,也就是说你的网站程序如果之前是用的 mysql,那么可以卸截之前数据库后安装这个数据库,然后把数据迁移过来就能直接使用。现在谷歌,维基百科,还有一些大的厂家也都在用这个数据库,毕竟它是 mysql创始人编写的,在代码和功能方面,是要超过 mysql一定标准的,总之架构要更优秀,这可不是偶说的,是大厂家技术员们讨论过的,当然在实际应用当中,是无法感觉谁快或谁慢,谁更优秀,这个得看用它的人如何配置及操作,这世界永远米有最好的,只有更好的或更新的版本等待着你去尝试,这个数据库就是其中之一。
//升级
mariadb这个数据库不像 mysql那么容易掌握特性,它确实安装方便迅速,就几步,远比 mysql那个客户端配置那么多的步骤要容易得多,升级也不难,就是提前停止数据库(ctrl + r 打开 cmd命令行,然后输入 net stop mysql
),之后直接安装新的包 *.msi这种下一步,下一步就可以完成。如果要跨版本升级,那么直接安装是不行的,这样无法启动或同时存在两个版本数据库,而你数据库用的还是之前老版本的,所以一台机器绝对不能同时运行 2个不同版本却相同的数据库,这肯定是对性能的浪费和无法忍受的事情。唯一的方法就是只用一个数据库一个版本的。首先你需要先备份数据库目录下面的 data目录,这里面是你全部运行的当前网站程序的数据库。然后还得用 phpmyadmin或 heidisql之类的数据库管理工具导出数据库,因为 innodb不像 myisam表那样直接复制就可以,它还有几个文件是共享的,所以仅仅复制 data目录还不能保证备份成功数据库。下面就说升级具体方法。
数据库目录默认是安装在 C:\Program Files\MariaDB 5.0\
下面,首先备份下面的 data目录,用 2种以上备份方式操作,保证备份可以还原成功。然后卸截当前的 5.x数据库,之后打开注册表(ctrl + r 打开 cmd命令行,输入 regedit
),查找 mariadb,凡是有这个标记的,直接删除当前的注册表行,依照最小原则,如果左边看到的是 MYSQL 这样的目录,就直接删除整个目录,操作之前最好先备份注册表,怕操作误删除了。然后按 f3查找下一个,直到没有为止,之后重启电脑。电脑开机后,这时候 mariadb注册表项被清空,之后到 C:\Program Files\
目录下,删除 MariaDB 5.0
目录。这时候数据库就完全卸截干净了。那么再安装 mariadb10.0.x系列。直接下一步下一步设置相关参数就可以,不需要安装的服务都选择不装,其实运行时只需要第 1个 database instance(实例)。
注册表类似以下
1 2 3 | HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL |
//修改 data
(数据库)目录
按照之前方法先 net stop mysql
,打开注册表,直接查找 data\my.ini
,替换为 \my.ini
,f3查找全部替换完成后,将以下代码保存为 my.ini文件,放到你的数据库根目录,例如:C:\Program Files\MariaDB 10.0\
记住,不是之前 data
那个目录,路径一定要准确,否则你将无法启动 mysql。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [mysqld] basedir=C:/Program Files/MariaDB 10.0 datadir=D:/w/d port=3306 innodb-page-size=65536 innodb_buffer_pool_size=1019M innodb_buffer_pool_instances = 8 innodb_flush_method = O_DIRECT innodb_file_per_table = 1 innodb_read_io_threads = 16 innodb_write_io_threads = 16 innodb_io_capacity = 2000 innodb_log_files_in_group = 3 innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 1024M innodb_max_dirty_pages_pct = 90 character-set-server=utf8 [client] port=3306 plugin-dir=C:/Program Files/MariaDB 10.0/lib/plugin |
大概上面的那些代码就是将数据库原目录 C:/Program Files/MariaDB 10.0
,修改为 D:/w/d
,然后 port端口,页面缓存,实例个数,后面那些都是配置的参数,然后 c盘新建 w文件夹,在它下面新建 d文件夹,给 d添加权限:
1 2 3 | //权限 D:\w\d 添加 NETWORD_SERVICE修改权限 |
如果你的数据库还是无法启动,请重启 1次电脑,之后用最简单的,下面这个就是。
1 2 3 4 5 6 7 8 9 | [mysqld] basedir=C:/Program Files/MariaDB 10.0 datadir=C:/w/d port=3306 innodb_buffer_pool_size=256M character-set-server=utf8 [client] port=3306 plugin-dir=C:/Program Files/MariaDB 10.0/lib/plugin |
这个就是最简单和基础的 my.ini
,如果还是无法启动就得找其它方面了,按照之前升级步骤里面的注册表查找为准,因为 256m已经很小的内存占用,另外注意目录现在是改成了 C:/w/d
,因为一般空间也就一个盘 c。再无其它的要说,技术文章就是这样直接,米有任何需要修饰的词语能在这里表达或起任何实际作用 (ง •̀_•́)งstar