centos7安装mysql遇到的问题(记录篇)

 

yum安装是最简便和稳定的安装方式,centos7默认安装的是mariadb,需要先卸载mariadb,先查看是否安装mariadb

rpm -qa | grep mariadb

如果找到,则拷贝结果,使用下面命令删除,如删除mariadb-libs-5.5.35-3.el7.x86_64

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

1.卸载  先停掉mysql进程   没有安装过的可以直接跳过

        pkill -9 mysqld

rpm -qa|grep -i mysql

用命令 yum -y remove

      yum -y remove mysql-community-client-5.6.38-2.el7.x86_64

      卸载不掉的用 rpm -ev 

      依次卸载 直到没有

2.下载mysql的安装的包

   cd /usr/local/src

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

然后等待安装就行,一切都是默认的

不过安装完成后,密码为随机密码,需要重置密码。

4.  启动mysql服务

service mysqld restart

#获取初始化密码
#由于mysql5.7加强了安全性的设置,root密码默认不再为空,而是通过生成随机密码。
#刚安装时死活找不到密码,网上查了很多资料也都不靠谱。折腾了好久之后在官网找到了相应的说明

    [root@localhost ~]# grep "temporary password" /var/log/mysqld.log   

可以看到  输入 mysql -u root -p   密码 进入      第一次登陆 ,需要重置密码 要不什么也不能操作  

 

修改密码语句如:alter user 'root'@'localhost' identified by '123456';  

出现错误

 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

对于5.7版本的mysql,即可解决问题

  1. set global validate_password_policy=0;

  2. set global validate_password_length=1;

对于8.0版本的解决方案 

如果服务器安装的是8.0版本的mysql,使用5.7的解决方案,则会出现以下报错信息

ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

原因:8.0版本的mysql这两个变量是不存在的,已经替换成其他的变量名了

查看8.0版本的变量名

SHOW VARIABLES LIKE 'validate_password%';

所以使用以下命令进行配置修改

  1. set global validate_password.policy=0;

  2. set global validate_password.length=1;

 

最后记得刷新权限;

     flush privileges 

root用户外部ip能访问,使用下面语句:        

CREATE USER 'root'@'%' IDENTIFIED BY ‘'Root!!2018‘;

    grant all on *.* to 'root'@'%' identified by ''Root!!2018'  with grant option;

1、连接服务器: mysql -u root -p

  2、看当前所有数据库:show databases;

  3、进入mysql数据库:use mysql;

  4、查看mysql数据库中所有的表:show tables;

  5、查看user表中的数据:select Host, User,Password from user;

  6、修改user表中的Host:update user set Host='%' where User='root';

  7、最后刷新一下:flush privileges;

 如果想限制只能让指定IP登录请把%替换成IP地址
常用启动命令:

systemctl restart mysqld
systemctl status mysqld

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值