mariadb安装与使用,mariadb安装使用
简介
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。
官方网址:https://mariadb.org
配置安装
配置文件
配置文件模板在根目录下,如mariadb-10.0.5-winx64\my-small.ini。除此之外还有my-medium.ini、my-large.ini、my-huge.ini和my-innodb-heavy-4G.ini.
请你根据自己机器的内存大小和实际需要,新建一个my.ini配置文件在此目录下。
行锁
为了支持表的行锁,我们需要使用InnoDB,以my-small.ini为例,我们需要打开(所指定的目录必须存在):(如果配置出错,比如没有对应的文件夹,服务启动不了)
1234567891011121314 | # Uncomment the following if you are using InnoDB tablesinnodb_data_home_dir =E:\\dbserver\\mariadb\\mariadb-10.0.5-winx64\\data\\ #data配置在mariadb下data目录,配置在其他地方,如果创建的是innodb,第二次启动就有问题了innodb_data_file_path = ibdata1:10M:autoextendinnodb_log_group_home_dir =E:\\dbserver\\mariadb\\log\\# You can set .._buffer_pool_size up to 50 - 80 %# of RAM but beware of setting memory usage too highinnodb_buffer_pool_size = 16Minnodb_additional_mem_pool_size = 2M# Set .._log_file_size to 25 % of buffer pool sizeinnodb_log_file_size = 5Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout = 50innodb_force_recovery = 1 #强制启动mysql,当innodb表空间损坏时候,启动不了,可以强制启动;没有这行有时候会报InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator |
二进制日志
为了保留我们操作数据库的操作记录,需要打开二进制记录:
1 2 | # Uncomment the following if you want to log updates log-bin=mysql-bin |
设置默认字符为utf8
1 | [client]default-character-set = utf8 |
安装/删除MariaDB数据库服务
通过cmd命令行在(mariadb-10.0.5-winx64\bin目录下执行):注意:请使用管理员权限安装
1 2 | mysqld.exe --install MariaDB mysqld.exe --remove MariaDB |
启用/停用MariaDB服务
通过cmd命令行在(mariadb-10.0.5-winx64\bin目录下执行):
12 | net start MariaDBnet stop MariaDB |
设置root密码
通过cmd命令行(mariadb-10.0.5-winx64\bin目录下执行):
1 | mysqladmin -u root password "123456" |
自此MariaDB数据库就创建完毕,可以用客户端工具连接上来,如navicat for mysql
其他。MariaDB数据的命令和MySQL几乎一模一样,MySQL5.5之前的解决方案,完全可以用Maria替代MySQL.
修改root密码
首次修改密码
1 | mysqladmin -u root -p[oldpass] password newpass |
注意oldpass(老密码)可选,如果root默认密码为空,则不需要输入
如果需要更改老密码,请注意老密码与-p之间不要有空格,否则会报错,另外password和newpass(新密码)之间以空格分隔。
忘掉密码
关掉mysqldaemon程序或服务
1 2 3 4 | safe_mysqld --skip-grant-tables & use mysql update user set password=password("new_pass") where user="root"; flush privileges; |
允许远程连接
首先打开防火墙3306
1 | netsh firewall add portopening TCP 3306 MySQL(3306) |
设置mysql可以远程连接
1 2 3 4 5 | mysql -u root -p123456 mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>flush privileges; mysql>select 'host' from user where user='root'; |
增加用户和授权
CREATE USER '用户名'@'localhost或者%' IDENTIFIED BY '密码';
123 | grant select,insert,update,delete on mydb.* to '用户名'@'localhost或者%' identified by '密码';flush privileges;select * from mysql.user |
删除用户及授权
1 | drop user '用户名'@'localhost或者%'; |