Linode 下 MariaDB 经览#mysql 也一样,求助

Linode 下 MariaDB 经览#mysql 也一样,求助,第1张

MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司开发的免费开源的数据库服务器。Red Hat 企业发行版RHEL 7 将用 MariaDB 替代 MySQL,一旦 RHEL 完成切换,基于 RHEL 的社区版 CentOS 将会紧跟着作出改变。所以呢,使用 CentOS 系统的这个 VPS 或迟或早都是要切换到 MariaDB 的,大势所趋啊。
这个 VPS 安装的是 CentOS,目前版本是 64,MySQL 版本是 5531(使用了 remi 源),虚拟机的配置与此极度相似。刚开始不太了解,执行了这个比较傻的 *** 作方式。参考 MariaDB 官方文档:How can I upgrade from MySQL to MariaDB
0 先备份数据库¶
数据库包含了自己的几乎所有重要内容,不管进行的 *** 作是否有风险,先备份总是很必要的。
可以通过 phpMyAdmin 导出数据库。
也可以直接在系统里将所有数据库文件备份一份:
cp -R /var/lib/mysql /var/lib/mysqlbak
A 先配置 MARIADB 的安装源。¶
MariaDB 官方提供了一个自动生成安装源配置文件的工具:>import console;
import mysqlclient;
consolelog("正在连接数据库服务器");
threadinvoke( function()
while(! threadget("db4freenet:end")){
iostdoutwrite(">");sleep(100);
}
)
var dbMysql,err = mysqlclient(
server = "db4freenet"; //数据库服务器,可省略默认为localhost
uid = "aardio";//用户名,可省略默认为root
pwd = "aardiocom";
);
threadset("db4freenet:end",true)
consoleclearScreen ();
if(!dbMysql){
consolelog("连接数据库失败",err);
consolepause();
return;
}
//选择数据库
dbMysqlselectDb("aardio")
//执行SQL语句,注意mysql表名、字段名可包含于反引号内(用键盘左上角ESC下方的按键内)
dbMysqlexec("CREATE TABLE IF NOT EXISTS `library` (
`name` varchar(100) NOT NULL, `auditing` tinyint(1) DEFAULT '0',`bytes` BLOB,PRIMARY KEY (`name`),UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
var dbTable,err = dbMysqllistTables()
for tbl in dbTableeach(){
consolelog("发现数据表:",tbl);
}

//执行SQL语句,使用命名参数
consolelog(
dbMysqlexec("INSERT `library` VALUES('测试',@num,@str)",{
num = 123;
str = "测试:'这是字符串!'命名参数可以自动处理字符串转义";
} )
)
//查询数据并返回记录集
var result = dbMysqlquery("SELECT FROM `library`");
for name,auditing,bytes in resulteach(){
consolelog( name,auditing,bytes ); //逐行输出所有记录
}
//移除数据库
dbMysqlexec("DROP TABLE IF EXISTS `library`");
consolepause();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13504646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-20
下一篇 2023-08-20

发表评论

登录后才能评论

评论列表(0条)

保存