阿里云服务器上Mysql5.7安装

运行环境:

1  安装时遇到如下错误:
warning: mysql-community-libs-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.21-1.el7.x86_64
        mariadb-libs is obsoleted by mysql-community-libs-5.7.21-1.el7.x86_64
原因是centos7中默认安装的是mariadb的libs,与mysql产生了冲突

2  查看:
rpm -qa|grep mariadb


3  刪除:rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

4  开始安装(一定按照顺序安装,因为会有依赖):
 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 (这里报了错)

这是因为缺少库libaio,所以需要安装libaio

解决方案:  安装libaio-0.3.107-10.el6.x86_64.rpm
下载地址:
http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
rpm   -ivh    libaio-0.3.107-10.el6.x86_64.rpm  安装
然后就可以安装mysql-server数据库了
安装完成后,即可成功安装MySQL-server-5.5.25a-1.rhel5.x86_64.rpm

5、 数据库初始化

为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你的linux系统是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
[root@localhost mysql]# mysqld --initialize --user=root此处是你的linux登录用户名

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

[root@localhost mysql]# cat /var/log/mysqld.log
2017-06-24T16:47:12.709474Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-06-24T16:47:12.590590Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-06-24T16:47:12.000269Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-06-24T16:47:12.109868Z 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: 960c533e-49fb-11e7-91f2-00163e089fd2.
2017-06-24T16:47:12.116186Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-06-24T16:47:12.116777Z 1 [Note] A temporary password is generated for root@localhost: :qqeftsut3wj


6  安装完毕,但是启动mysql时又产生错误:
查看日志:cat /var/log/mysqld.log 
错误信息:
InnoDB: The innodb_system data file 'ibdata1' must be writable
Plugin 'InnoDB' init function returned error.

显示是没有无法写入

授权  chmod -R 777 /var即可。

mysql忘记root密码修改

在mysql5.7.10的版本安装好启动程序并没有在操作系统root用户的根目录下面看到一个以点为前缀的带有mysql的文件。 
这里写图片描述 
当用命令:

mysql -uroot
  • 1

登录时会抛错提示要输入密码。接下来就开始修改root的初始密码。

  • 编辑 /etc/my.cnf的mysql配置文件 
    这里写图片描述 
    加入
skip-grant-tables
  • 1

保存好配置文件 
这里写图片描述

  • 重启mysql服务

命令:

service mysqld start --没有启动过
service mysqld restart --已经在运行重新启动
  • 1
  • 2

这里写图片描述 
再一次登录: 
命令:

mysql -uroot
  • 1

这里写图片描述 
登录修改密码:

update user set authentication_string=PASSWORD('sys123') where User='root';
  • 1

在修改密码之前要选择mysql数据库。 
然后退出登录再次用修改后的原始密码进行登录: 
这里写图片描述
上面修改的密码相当于在mysql安装的时候的初始化的密码变成了我们修改的密码。所以在登录系统后mysql数据库要你修改原始密码:

SET PASSWORD = PASSWORD('sys123'); --这个密码和上面一样也可以是其他的
  • 1

这里写图片描述
因为Linux在安装以后自动启用了密码验证(具体的验证请去mysql官网查看文档文档上面都有详细的说明),不想要就可以取消 
再次编辑/ect/my.cnf文档 
这里写图片描述 
加入:

validate-password=OFF
  • 1

保存重启mysql服务。 
再次进行修改: 
这里写图片描述

这样密码修改就成功搞定。

MySqk数据库无法远程连接

  远程登陆数据库的时候出现了下面出错信息:
  ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx',
  经过今天下午的反复纠结,关于MySql数据库无法远程连接的问题可以归结为以下几点:

  1). 没有授予相应的权限:
  例如,你想root使用123456从任何主机连接到mysql服务器。

1
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
  如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码
1
2
mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’10.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES

  2). 修改mysql数据库中的user表使相应的用户能从某一主机登陆  

1
2
3
4
mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

  3). 防火墙禁止了3306端口,以iptable为例    


    vi /etc/sysconfig/iptables
    增加下面一行:
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT  
    service iptables restart

    ps:  iptables设置
    1) 重启后生效 
    开启: chkconfig iptables on 
    关闭: chkconfig iptables off 

    2) 即时生效,重启后失效 
    开启: service iptables start 
    关闭: service iptables stop

  4). 修改MySQL的配置文件/etc/mysql/my.cnf,因为默认3306端口只允许本地访问的,注释掉这行
    #bind-address = 127.0.0.1
  然后重启Mysql,/etc/init.d/mysql restart


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值