数据库数据库

MySQL与MariaDB概述/配置(一)

2016-12-01  本文已影响316人  simuty
第一部分 MySQL概述
mariadb-maxscale.png

MySQL 是当今最流行的开源数据库,高效且稳定,备受公众网站的青睐。

1995 年,MySQL 由 Michael“Monty”Widenius 和 David Axmark 创造,并使用 GNU 通用 公共授权
2008 年 1 月, 它被 Sun 公司收购。
2009 年 4 月,它自身却被 Oracle 收购了。因为 Oracle 是卖闭源数据库的,可以说是 MySQL 的一大竞争对手,所以当时很多人担心 MySQL 这个改变世界的开源软件会就此被扼杀。至今这种情况都没有发生。但Oracle没有保证会在未来继续开放 MySQL 的代码。

MariaDB成立于2009年,MySQL之父Michael “Monty” Widenius用他的新项目MariaDB完成了对MySQL的“反戈一击”。出于对 Oracle 收购的不爽,Monty 又开了一家新公司——Monty Program Ab,它在 MySQL 的基础上开发出了一个分支——MariaDB。一些老员工,离开 Sun 和 Oracle,建立了 SkySQL Ab,为 MySQL 和 MariaDB 用户提供支持、咨询和培训等服务。
2013 年 10 月,Monty Program Ab 合并到 SkySQL Ab 中
2014 年 10 月改名为 MariaDB Ab。而 MariaDB 的授权认 证则由 MariaDB 基金会控管,而不是 Oracle 或其他公司。

MySQL 的这个名字来源于 Monty Widenius 的第一个女儿,My Widenius。而 MariaDB 则源于其第二个女儿,Maria Widenius。

MariaDB 基金会的作用,就是确保 MariaDB 的开发过程公平、公开、公正。它将保证 MariaDB 始终开源,这是它的首要职责;

基金会是只看技术,不考虑商业因素的。

MySQL 是免费并且开源的,但它的开发者——现在是 Oracle 公司——对其源代码拥有版权。该公司提供双重许可方式:

1. 一种是可在某些常见情境下遵循 GPL 的免费使用;
2. 一种是收费的商业许可证。

如果你开发了一个依赖 MySQL 的应用,并希望以它来盈利,那么你必须向 Oracle 购买一个商业许可。

** MariaDB加密**
MariaDB 10.1 来说,它之所以兼容 Galera 集群(用于管理并行数据库)这 一功能,正是为了更好地支持新的加密功能。更好的加密技术,将使数据更难被窃取,担心开源软件是否安全,那 么,最直接的办法就是去检查我们提供的开源代码。

MariaDB-MySQL-Cache-1.png

第二部分 学习MySQL和MariaDB的前途

MySQL 和 MariaDB 都兼容 SQL,它是一种有大约 30 年历史的编程语言.学习 MySQL 或 MariaDB,对你的数据库开发和管理生涯有百利而无一害。

学习基础知识后,试试用 MySQL 或 MariaDB 来创建一个网站,并尽量去解决各种数据库 相关的问题。

2.1 MariaDB

MariaDB 网站提供下载,

MariaDB基于MySQL并遵循GPL v2授权使用的。她是由以Monty Program Ab为主要管理者的MariaDB社区开发的。MariaDB与另一分支MySQL最新版保持同步更新。在MariaDB工作与在MySQL下工作几乎一模一样,她们有相同的命令、界面,以及在MySQL中的库与API,所以MariaDB可以说是为替换MySQL量身定做的,所以它们之间是相通用(兼容),换用后连数据库都不必转换!并可以获得MariaDB提供的许多更好的新特性。

2.2 MariaDB 安装(Mac)

总体步骤:

1. xcode-select --install 下载最新xcode
2. 配置并检测Homebrew;
3. 下载MariaDB: brew install mariadb
4. 启动数据库下载器 mysql_install_db(前提: 切换至安装目录下)
5. 启动数据库服务: mysql.server start
6. mysql_secure_installation: 对基本的一些信息的配置
7. 连接数据库: mysql -u root -p

Mac 现在还没有 MariaDB 的官方安装工具。不过你可以用 Homebrew来 下载和安装所需的包(其中包括所需的库)。

*其中的几部加注释

#下载
$ brew install mariadb
 .
 .
 .
 ==> Downloading https://homebrew.bintray.com/bottles/mariadb-10.1.19.sierra.bott
######################################################################## 100.0%
==> Pouring mariadb-10.1.19.sierra.bottle.tar.gz
==> Using the sandbox
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

#链接数据库
To connect:
    mysql -uroot
#如果想登陆启动数据库执行该语句
To have launchd start mariadb now and restart at login:
  brew services start mariadb
#如果不想自启动执行该语句
Or, if you don't want/need a background service you can just run:
  mysql.server start
==> Summary
🍺  /usr/local/Cellar/mariadb/10.1.19: 574 files, 136.6M
 

*运行mysql_install_db安装程序

#与上一步的版本号匹配
$ cd /usr/local/Cellar/mariadb/10.1.19
$ mysql_install_db

.
.
.
.

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'/usr/local/Cellar/mariadb/10.1.19/bin/mysqladmin' -u root password 'new-password'
'/usr/local/Cellar/mariadb/10.1.19/bin/mysqladmin' -u root -h BWF-huanghaowei.local password 'new-password'

# 设置密码相关的内容, 可以使用如下命令
Alternatively you can run:
'/usr/local/Cellar/mariadb/10.1.19/bin/mysql_secure_installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

##启动demo数据表
You can start the MariaDB daemon with:
cd '/usr/local/Cellar/mariadb/10.1.19' ; /usr/local/Cellar/mariadb/10.1.19/bin/mysqld_safe --datadir='/usr/local/var/mysql'

You can test the MariaDB daemon with mysql-test-run.pl
cd '/usr/local/Cellar/mariadb/10.1.19/mysql-test' ; perl mysql-test-run.pl

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Support MariaDB development by buying support/new features from MariaDB
Corporation Ab. You can contact us about this at sales@mariadb.com.
Alternatively consider joining our community based development effort:
http://mariadb.com/kb/en/contributing-to-the-mariadb-project/

BWF-huanghaowei:10.1.19 51Code$ 

*设置密码 测试数据相关的内容

#启动数据库
BWF-huanghaowei:10.1.19 51Code$ mysql.server start

SUCCESS! 

#配置相关内容
BWF-huanghaowei:10.1.19 51Code$ mysql_secure_installation

Remove anonymous users? [Y/n] ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! - See more at: https://mariadb.com/resources/blog/installing-mariadb-10116-mac-os-x-homebrew#sthash.5A9pcAbq.dpuf

*启动数据库, 默认数据库密码为空.

# 启动数据库
BWF-huanghaowei:~ 51Code$ mysql.server start
Starting MySQL
 SUCCESS! 
 ## 错误日志所在位置 /usr/local/var/mysql/BWF-huanghaowei.local.err
BWF-huanghaowei:~ 51Code$ 161123 14:14:52 mysqld_safe Logging to '/usr/local/var/mysql/BWF-huanghaowei.local.err'.

*链接数据库

#默认没有密码 
$ mysql -uroot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 10.1.19-MariaDB Homebrew

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 


第三部分 安装Mariadb遇到的问题:

3.1 第一个问题

Mac先卸载MySQL, 然后使用brew install mariadb安装成功后, 启动时无法使用mariadb

解决步骤:
如果已安装mysql, 可以先删除了: brew uninstall mysql brew cleanup;

1. 确保安装最新xcode;
2. brew 检测 brew doctor; 显示Your system is ready to brew.
3. brew升级, brew update;升级过程很慢, 也有些许问题, [github 上brew关于更新问题,](https://github.com/Homebrew/brew);github中指出可以在遇到问题时对`brew doctor`和`brew update`多执行两次,
4. 删除原来的Mariadb, brew uninstall mariadb; 重新安装brew install mariadb;
5. 启动`mysql.server start`;
6. 链接`mysql -uroot`,

****Every thing is OK**

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.19-MariaDB Homebrew

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

*3.2 运行mysql_install_db安装程序遇到的问题:

2016-11-28 10:28:34 140735891256256 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

解决:
先关闭mysql:

$ mysql.server stop

参考
Installing MariaDB 10.1.16 on Mac OS X with Homebrew

更多精彩内容请关注“IT实战联盟”哦~~~


IT实战联盟.jpg
上一篇下一篇

猜你喜欢

热点阅读