关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式

环境介绍>>>>>>>>>>>>>>>>>>

操作系统:Centos 7.1

mysql数据库版本:mysql5.7.9

mysql官方网站:http://www.mysql.com

原文地址:http://www.cnblogs.com/5201351/p/4912614.html

------------------------------------------

1、安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载

[root@5201351 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@5201351 ~]# rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps

2、到mysql的官网下载最新版mysql的rpm集合包:mysql-5.7.9-1.el7.x86_64.rpm-bundle.tar

3、上传mysql-5.7.9-1.el7.x86_64.rpm-bundle.tar到linux服务器,并解压tar包

4、其中最简单的安装mysql-server服务,只需要安装如下4个软件包即可,我们可以使用rpm -ivh命令进行安装

     mysql-community-common-5.7.9-1.el7.x86_64.rpm
     mysql-community-libs-5.7.9-1.el7.x86_64.rpm             --(依赖于common)
     mysql-community-client-5.7.9-1.el7.x86_64.rpm          --(依赖于libs)
     mysql-community-server-5.7.9-1.el7.x86_64.rpm         --(依赖于client、common)

5、接下来是初始化数据库,我们使用如下几条命令均可,效果都是一样的

[root@5201351 ~]# mysql_install_db --datadir=/var/lib/mysql   //必须指定datadir,执行后会生成~/.mysql_secret密码文件
[root@5201351 ~]# mysqld --initialize                         //新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码

  另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。

这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,红色区域的就是自动生成的密码

  [root@linux_node_1 src]# cat /var/log/mysqld.log 

  2017-07-30T03:27:25.981997Z 0 [Warning] InnoDB: New log files created, LSN=45790
  2017-07-30T03:27:26.227221Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  2017-07-30T03:27:26.436181Z 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: 025a70eb-74d7-11e7-8b38-000c298f43f2.
  2017-07-30T03:27:26.445426Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  2017-07-30T03:27:26.445987Z 1 [Note] A temporary password is generated for root@localhost: e1BqRK3.&w!g

6、更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库

[root@5201351 ~]# chown mysql:mysql /var/lib/mysql -R
[root@5201351 ~]# systemctl start mysqld.service            //启动mysql数据库服务

7、根据第5步中的密码登录到mysql,更改root用户的密码,新版的mysql在第一次登录后更改密码前是不能执行任何命令的

 

#查看一次性随机密码
cat /var/log/mysqld.log
2017-07-30T03:27:26.445987Z 1 [Note] A temporary password is generated for root@localhost: e1BqRK3.&w!g

#修改密码
[root@arjenlee ~]# mysql -uroot -p'e1BqRK3.&w!g'
mysql
> set password=password('http://www.cnblogs.com/arjenlee/');

8、最后我们还可以根据实际情况创建用户,及作权限分配

mysql> create user 'root'@'192.168.100.2' identified by 'QQ5201351'; 
mysql> GRANT ALL PRIVILEGES ON dbname.* to 'root'@'192.168.100.2';
mysql> flush privileges

==============================================

最后需要特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,

而是将加密后的用户密码存储于authentication_string字段

 

尊重别人的劳动成果 转载请务必注明出处:http://www.cnblogs.com/5201351/p/4912614.html

posted @ 2017-07-30 10:52  木子木泗  阅读(337)  评论(0编辑  收藏  举报