mySQL特点:
1.mySQL使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.mySQL支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
3.mySQL为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.mySQL支持多线程,充分利用CPU资源
5.mySQL优化的SQL查询算法,有效地提高查询速度
6.mySQL既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
7.mySQL提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
8.mySQL提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
9.提供用于管理、检查、优化数据库操作的管理工具。
10.mySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
11.mySQL支持多种存储引擎。
MySQL数据库 v5.7.21新特性:
1.1)初始化方式的改变及默认添加用户密码
MySQL默认的部署策略发生了变化,变得更加安全。mysql_install_db弃用了,改用mysqld加–initialize或–initialize-insecure选项来初始化数据目录。使用–initialize时,MySQL数据库初始化完成以后,会产生一个root@localhost用户,从MySQL 5.7开始,root用户的密码不再是空,而是随机产生一个密码,保存于error log,初次登录需使用密码并改变密码。这也导致了用户安装5.7时发现的与5.6版本比较大的一个不同点。
1.2)删除test库及不再创建匿名账号
MySQL官方已经删除了test数据库,默认安装完后是没有test数据库的,就算用户创建了test库,也可以对test库进行权限控制了,并且不再创建匿名账户。
1.3)mysql.user表的改变
mysql.user表新增plugin列,且若某账户该字段值为空则账户不能使用。从低版本MySQL升级至MySQL5.7时要注意该问题,且建议DBA将使用mysql_old_password插件的账户替换为使用mysql_native_password插件。另外默认的用户密码字段由Password变成了authentication_string。
1.4)增加密码过期策略
数据库管理员可以制定账户密码自动过期策略,密码过期后必须强制进行更改。
1.5)增加用户锁定限制
数据库管理员可以锁定/解锁账户来进行更好的登录控制,对应的,mysql.user表中新增account_locked列来表示锁定状态。版本升级过程中要注意该问题。
1.6)默认开启连接加密
MySQL可以自动创建SSL、RSA证书和Key文件来支持安全连接,但前提是Server用OpenSSL编译,默认情况下客户端是使用安全连接服务器的。
1.7)增加密码复杂度检查插件validate_password
如果使用YUM安装MySQL的话,默认会装载这个插件,这个插件就是对用户密码复杂度(字母大小写、数字、特殊字符、密码长度等)的一个检查,如果不满足设定的复杂度要求则不允许创建用户。
安装配置教程:
mysql安装教程|mysql 5.7安装配置详细图解