0、环境
本文操作系统: CentOS 7.2.1511 x86_64
MysqL 版本: 5.7.18
1、卸载系统自带的 mariadb-lib
[root@centos-linux ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@centos-linux ~]# rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps
2、下载 rpm 安装包
去官网找到最新的 rpm 集合包。现在最新的是 MysqL-5.7.18-1.el7.x86_64.rpm-bundle.tar
复制其下载地址,在服务器下载 (或者本地下载了上传至服务器)。
[root@centos-linux ~]# wget https://downloads.MysqL.com/archives/get/file/MysqL-5.7.18-1.el7.x86_64.rpm-bundle.tar
然后解压
[root@centos-linux ~]# ls
MysqL-5.7.18-1.el7.x86_64.rpm-bundle.tar
[root@centos-linux ~]# tar -xvf MysqL-5.7.18-1.el7.x86_64.rpm-bundle.tar
MysqL-community-server-5.7.18-1.el7.x86_64.rpm
MysqL-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
MysqL-community-devel-5.7.18-1.el7.x86_64.rpm
MysqL-community-client-5.7.18-1.el7.x86_64.rpm
MysqL-community-common-5.7.18-1.el7.x86_64.rpm
MysqL-community-embedded-5.7.18-1.el7.x86_64.rpm
MysqL-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
MysqL-community-libs-5.7.18-1.el7.x86_64.rpm
MysqL-community-server-minimal-5.7.18-1.el7.x86_64.rpm
MysqL-community-test-5.7.18-1.el7.x86_64.rpm
MysqL-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
MysqL-community-libs-compat-5.7.18-1.el7.x86_64.rpm
3、安装
依次执行(几个包有依赖关系,所以执行有先后)下面命令安装
[root@centos-linux ~]# rpm -ivh MysqL-community-common-5.7.18-1.el7.x86_64.rpm
[root@centos-linux ~]# rpm -ivh MysqL-community-libs-5.7.18-1.el7.x86_64.rpm
[root@centos-linux ~]# rpm -ivh MysqL-community-client-5.7.18-1.el7.x86_64.rpm
[root@centos-linux ~]# rpm -ivh MysqL-community-server-5.7.18-1.el7.x86_64.rpm
4、数据库初始化
在 *nix 系统中,为了保证数据库目录为与文件的所有者为 MysqL 登陆用户,如果你是以 root 身份运行 MysqL 服务,需要执行下面的命令初始化
MysqLd --initialize --user=MysqL
如果是以 MysqL 身份运行,则可以去掉 –user 选项。
另外 –initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 –initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。
[root@centos-linux ~]# cat /var/log/MysqLd.log
2016-07-16T07:56:38.282824Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-07-16T07:56:38.422114Z 0 [Warning] InnoDB: New log files created,LSN=45790
2016-07-16T07:56:38.449315Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-07-16T07:56:38.457910Z 0 [Warning] No existing UUID has been found,so we assume that this is the first time that this server has been started. Generating a new UUID: d3261dbf-4b2a-11e6-86ef-001c4260563f.
2016-07-16T07:56:38.458976Z 0 [Warning] Gtid table is not ready to be used. Table 'MysqL.gtid_executed' cannot be opened.
2016-07-16T07:56:38.459524Z 1 [Note] A temporary password is generated for root@localhost: hm9dKgzQdm:W
[root@centos-linux ~]# systemctl start MysqLd
[root@centos-linux ~]# MysqL -uroot -p
Enter password:
Welcome to the MysqL monitor. Commands end with ; or \g.
Your MysqL connection id is 2
Server version: 5.7.13
Copyright (c) 2000,2016,Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MysqL>
5、修改 root 密码
MysqL> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
MysqL> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
同时,如果你设置的密码过于简单也会报错。
MysqL> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这里我们注意设置密码 长度要大于8,同时要有数字,大小写,特殊字符。