这个 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();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)