您的位置:首页 > 运维架构 > Linux

CentOS 7.2 安装mysql 5.7.18-*.rpm-bundle.tar

2017-05-09 14:07 676 查看
1、卸载系统自带的 mariadb-lib

rpm -qa|grep mariadb
##mariadb-libs-5.5.50-1.el7_2.x86_64
rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64 --nodeps


2、下载mysql 5.7.18-*.rpm-bundle.tar包并解压

tar -xvf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar


3、安装

依次执行(几个包有依赖关系,所以执行有先后)下面命令安装

rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm


在安装rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm 的时候报错如下:

warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.18-1.el6.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.18-1.el6.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.18-1.el6.x86_64


使用如下命令解决:

yum install libnuma*


如果报如下错误:

libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
net-tools is needed by mysql-community-server-5.7.16-1.el7.x86_64


使用如下命令解决:

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm yum install net-tools


4、数据库初始化

为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化

mysqld --initialize --user=mysql


如果是以 mysql 身份运行,则可以去掉 –user 选项。

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

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

cat /var/log/mysqld.log


现在启动mysql数据库systemctl start mysqld.service

systemctl start mysqld.service
mysql -uroot -p


5、修改密码

该密码被标记为过期了,如果想正常使用还需要修改密码

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.


以前的 password()函数将会被抛弃,官方建议使用下面的命令来修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql';


同时,如果你设置的密码过于简单也会报错。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements


6.防火墙配置远程访问

开放3306端口号

firewall-cmd --permanent --add-port=3306/tcp


重新加载防火墙

firewall-cmd --reload


查看防火墙配置,可以看出3306已经在例外了

firewall-cmd --list-all


public (default, active)
interfaces: enp0s3 enp0s8
sources:
services: dhcpv6-client ftp ssh
ports: 3306/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:


注意

新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段。

如此,mysql就安装完毕了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos mysql rpm