Linux下RPM方式安装 MySQL5.7

Centos7下安装步骤

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

卸载冲突的RPM组件
在我们安装mysql相关组件的时候,如果不将此冲突的组件删除掉,我们是安装不成功的。
我们可以先跳过这步,直接进入下步操作,在安装的过程中会有相应的提示。下面是我所碰到的一个提示:

# 安装mysql组件时出现的依赖错误
error: Failed dependencies:
        mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.19-1.el7.x86_64
        mariadb-libs is obsoleted by mysql-community-libs-5.7.19-1.el7.x86_64
        
# 卸载mariadb-libs时出现的依赖错误
error: Failed dependencies:
        libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
        libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64

可以看出,我们需要卸载postfixmariadb-libs相关的组件。卸载我们可以使用rpm -ev xxx

  • 查看postfixmariadb-libs
rpm -qa | grep postfix
rpm -qa | grep mariadb
  • 卸载postfixmariadb-libs
rpm -ev postfix-2.10.1-6.el7.x86_64
rpm -ev mariadb-libs-5.5.52-1.el7.x86_64

下载MySQL rpm

下载链接: mysql-5.7.17-1.el7.x86_64.rpm.tar

上传并解压rpm

上传 mysql-5.7.17-1.el7.x86_64.rpm.tarLinux服务器/usr/local/src,并解压tar

tar -xvf mysql-5.7.21-1.el7.x86_64.rpm.tar

执行结果:

[root@localhost software]# tar -xvf mysql-5.7.21-1.el7.x86_64.rpm.tar 
mysql-community-client-5.7.21-1.el7.x86_64.rpm
mysql-community-server-5.7.21-1.el7.x86_64.rpm
mysql-community-common-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-5.7.21-1.el7.x86_64.rpm

开始安装

mysql-server服务,只需要安装如下4个软件包即可,我们可以使用rpm -ivh命令进行安装
依次安装:

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

libs 依赖于 common
client 依赖于 libs
server 依赖于 client、common

初始化数据库

我们使用如下命令均可

[root@master~]# mysqld --initialize

新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码

启动mysql

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

[root@master~]# chown mysql:mysql /var/lib/mysql -R
[root@master~]# systemctl start mysqld.service

修改mysql密码

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

  • 查看初始密码
[root@master~]# cat /var/log/mysqld.log | grep 'password'

会看到如下一段:

[Note] A temporary password is generated for root@localhost: h:#EhtdIr7qg

那初始化密码就是对应的 h:#EhtdIr7qg

  • 登陆mysql并改密码
[root@master~]# mysql -u root -p h:#EhtdIr7qg
mysql> set password=password('root');

配置mysql

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

mysql> create user 'root'@'%' identified by 'root';
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit

设置不区分大小写

[root@master~]# vi /etc/my.cnf

在[mysqld]节点下增加
lower_case_table_names = 1
:wq 退出

防火墙开通3306端口访问

  • 查看端口是否可访问
    telnet ip 端口号
[root@master~]# telnet localhost 3306
  • 开放指定端口
[root@master~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 重启防火墙
[root@master~]# firewall-cmd --reload

重启服务并尝试登陆

[root@master~]# service mysqld restart
[root@master~]# mysql -u root -p

最后需要特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有 Password 字段了,而是将加密后的用户密码存储于 authentication_string 字段

mysql启动命令

# 查看mysql是否启动
service mysqld status

# 启动mysql
service mysqld start

# 停止mysql
service mysqld stop

# 重启mysql
service mysqld restart
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值