一、 MySQL 5.7 主要特性:
原生支持Systemd
更好的性能:对于多核CPU 、固态硬盘、锁有着更好的优化
更好的InnoDB 存储引擎
更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL 数据库。
注:mysql-5.6.3 已经支持了多线程的主从复制
新增sys 库:以后这会是 DBA 访问最频繁的库
二、MySQL版本
SQL结构化查询语言
社区版Community Edition、商业版Enterprise Edition
Alpha Beta RC GA
三、安装mysql5.7
系统: centos7.2 x86_64
卸载 mariadb ,因为 centos7.2 默认安装了 mariadb
查看是否安装mariadb
rpm -qa |grep mariadb
卸载mariadb
rpm -e mariadb-libs --nodeps
rpm安装:
其中最简单的安装mysql-server服务,只需要安装如下4个软件包即可,我们可以使用rpm -ivh命令进行安装
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm --(依赖于common)
mysql-community-client-5.7.18-1.el7.x86_64.rpm --(依赖于libs)
mysql-community-server-5.7.18-1.el7.x86_64.rpm --(依赖于client、common)
接下来是初始化数据库,我们使用如下几条命令均可,效果都是一样的
[root@5201351 ~]# mysql_install_db --datadir=/var/lib/mysql //必须指定datadir,执行后会生成~/.mysql_secret密码文件(不推荐)
[root@5201351 ~]# mysqld --initialize //新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码
更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库
[root@5201351 ~]# chown mysql:mysql /var/lib/mysql -R
[root@5201351 ~]# systemctl start mysqld.service //启动mysql数据库服务
根据上步中的密码登录到mysql,更改root用户的密码,新版的mysql在第一次登录后更改密码前是不能执行任何命令的
[root@5201351 ~]# mysql -uroot -p '上图中随机生成的密码'
mysql> set password=password('XXXXXXXXXX');
最后我们还可以根据实际情况创建用户,及作权限分配
mysql> create user 'root'@'192.168.100.2' identified by 'XXXXXXX';
mysql> GRANT ALL PRIVILEGES ON dbname.* to 'root'@'192.168.100.2';
mysql> flush privileges
==============================================
最后需要特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段