下载
当前支持版本:Download,含历史的所有版本:MariaDB Server – All releases – MariaDB.org
- 10.3版本可简单视为MySQL 5.7对等版本(安装方法与服务端配置方法都一致),后面的版本就都有差异了。
- zip版没有my.ini文件,建议使用安装版;或提前准备my.ini文件,再做zip版本安装(未验证)。
v10.3 msi版的data\my.ini内容
安装过程中可以修改端口号,也可以在此文件中修改端口号,修改后需要重启MySQL系统服务。
[mysqld]
datadir=C:/Program Files/MariaDB 10.3/data
port=33060
innodb_buffer_pool_size=245M
character-set-server=utf8
[client]
port=33060
plugin-dir=C:/Program Files/MariaDB 10.3/lib/plugin
v10.3 zip版本安装/卸载方法:适用于MySQL 5.7
安装:先解压,再运行cmd.exe
rem 配置系统环境变量 Path 中添加 mysql.zip\bin
cd /d mysql.zip\bin
rem 本地root密码为空
mysqld --initialize-insecure
mysqld install

检查系统服务所使用的my.ini,是否正确:
"C:\Program Files\MariaDB 10.3\bin\mysqld.exe" "--defaults-file=C:\Program Files\MariaDB 10.3\data\my.ini" "MySQL"
确认使用my.ini文件,后启动数据库服务:
net start mysql
卸载:
mysqld remove
本地登录:
mysql -u root -p
mysql –u root –ppassword
mysql –h localhost -P 3306 -uroot –ppassword
修改密码:
mysqladmin.exe -u root -p password
或
mysql> set password for 'root'@'localhost' = password('B$51}w1Xo@Vb}');
mysql> set password for 'root'@'::1' = password('B$51}w1Xo@Vb}');
注意:此时root不能远程客户端登录,只能本地登录;也不建议开启root远程登录,而是创建一个新的用户并授权。
mysql> CREATE USER 'rdpDba'@'%' IDENTIFIED BY 'tbr12GGkypqgvG';
mysql> GRANT all privileges ON *.* TO 'rdpDba'@'%';
mysql中工具作用
- mysqld.exe是MySQL的主程序,mysqld意思是mysql daemon(后台进程),在后台运行,监听3306端口。
- mysql.exe是MySQL的命令行工具,是一个客户端软件,可以对任何主机的mysql服务(即后台运行的mysqld)发起连接。
- mysqladmin.exe是一个执行管理操作的客户端,例如创建或删除数据库,重新加载授权表,将表刷新到磁盘以及重新打开日志文件。
- root账号第一次登录是没有密码,也可继续修改密码:mysqladmin -u root -p password
- mysqlshow.exe是用来查看当前数据库、表、索引、视图等
- mysqldump.exe是mysql 数据导出及备份工具。
- mysqlslap.exe是mysql 性能分析测试工具。
SQL简单使用
-- mariadb 10.4.34 安装 axure cloud 437版失败,换成10.3.39没有问题。
-- 1.使用create database语句创建数据库
CREATE DATABASE IF NOT EXISTS db_name DEFAULT CHARSET utf8;
-- 2.查看创建的DB的字符集
select schema_name,default_character_set_name from information_schema.schemata where schema_name = 'db_name';
-- 3.创建用户并授权
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'Password';
GRANT all privileges ON db_name.* TO 'user_name'@'localhost';
flush privileges;
-- 4.其他:可远程登录的 root 改名
update mysql.`user` u set u.`User` ='u1' where u.Host ='%' and u.`User` ='root';
flush privileges;
-- 4.其他:查看授权与撤消授权
show grants for 'u1'@'%';
revoke all PRIVILEGES ON `db_name`.* from `u1`@`%`;
-- 4.其他:超级权限
update mysql.user set super_priv='Y' where user='u1' and host='%';
flush privileges;
-- 4.其他:删除用户、数据库
DROP USER 'user_name'@'host';
dorp database db_name;
Db备份
-- 准备备份账号
mysql> CREATE USER 'BakU'@'localhost' IDENTIFIED BY "1Xo@Vb";
mysql> GRANT select,show view,event,trigger,lock tables ON *.* TO 'BakU'@'localhost';
/*
https://dev.mysql.com/doc/refman/5.7/en/using-mysqldump.html
备份中包含事件、存储过程和函数、触发器:--events --routines --triggers
备份中包含 CREATE DATABASE 和 USE 语句:--databases
指定数据库:axshare
*/
$> mysqldump -uBaku -p1Xo@Vb –events –routines –triggers –databases axshare > axshare.sql
--no-data 选项告诉 mysqldump 不要转储表数据,结果 在仅包含语句的转储文件中创建表。相反,--no-create-info 选项 告诉 mysqldump 抑制输出中的语句,以便 转储文件仅包含表数据
$> mysqldump –no-data test > dump-defs.sql
$> mysqldump –no-create-info test > dump-data.sq
Db恢复
$> mysql.exe -hlocalhost -P33060 -uroot -pB$e351}w1Xo@Vb} –default-character-set=utf8
-- 如果该文件是不包含 CREATE DATABASE 和 USE 语句的单数据库转储,请创建数据库
mysql> CREATE DATABASE IF NOT EXISTS db1;
mysql> USE db1;
mysql> source dump.sql
-- https://dev.mysql.com/doc/refman/5.7/en/mysqldump-upgrade-testing.html
-- 使用 mysqldump 测试升级不兼容性
-- 在考虑MySQL升级时,谨慎的做法是安装 独立于当前生产的较新版本 版本。然后,您可以转储数据库和数据库对象 从生产服务器定义并将它们加载到 新服务器,以验证它们是否得到正确处理。(这是 对于测试降级也很有用。
— 在生产服务器上:
$> mysqldump –all-databases –no-data –routines –events > dump-defs.sql
— 在升级的服务器上:
$> mysql < dump-defs.sql
— 由于转储文件不包含表数据,因此它可以处理速度快。这使您能够发现潜在不兼容,无需等待冗长的数据加载操作。在转储文件存在时查找警告或错误正在处理中。
— 验证定义已处理后 正确地转储数据并尝试将其加载到升级后的 服务器。
— 在生产服务器上:
$> mysqldump –all-databases –no-create-info > dump-data.sql
— 在升级的服务器上:
$> mysql < dump-data.sql
— 现在检查表内容并运行一些测试查询。,比如关键表的 select * from table_name;
— 涉及系统库的导入,还需要运行 mysql_upgrade.exe
发表回复