centOS7安装MySQL5.7

1.安装方式

 

方式一:

在CentOS中默认安装有MariaDB,这个是MySQL的分支

如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令:

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

或先下载好 mysql57-community-release-el7-10.noarch.rpm发送到Linux系统中,再通过rpm指令安装 rpm -ivh mysql57-community-release-el7-10.noarch.rpm

然后再yum install -y mysql-server # yum安装,需要外网环境

方式二:

  • rpm -ivh perl-*.rpm #安装所有perl依赖

  • rpm -Uvh mysql-libs-5.1.73-7.el6.i686.rpm #更新mysql的类库

  • rpm -ivh mysql-5.1.73-7.el6.i686.rpm mysql-server-5.1.73-7.el6.i686.rpm #安装mysql主服务

2.启动mysql服务

  systemctl start/stop/restart/status mysqld

  查看MySQL运行状态:

  systemctl status mysqld.service

3、使用MySQL

  注意:以下方式针对mysql5.7

  初次使用,需要找到root的密码:

  grep "password" /var/log/mysqld.log

  找到密码后,连接数据库 mysql -uroot -p密码

  输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

  ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

  

  遇到错误:
  ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  解决方案:
  1、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
  输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值
  2、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
  输入设值语句 “ set global validate_password_length=6; ” 进行设值
  3、再重置密码
  ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
  4、查看 mysql 初始的密码策略,
  输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看

  注意:如果是MySQL5.6版,则初始密码为空,直接在命令行中输入 mysql -uroot即可进入

  此时进入mysql库中的user表,输入select host,user,authentication_string from user;查看表中的数据,发现密码为空。

  更新密码即可:set password for root@localhost=password('123456')

  再刷新权限:flush privileges;

 

  

4、MySQL远程连接

  1. use mysql;   //use 库名;切换指令
  1. desc user; // desc 表名;查看表结构

  2. select host,user,authentication_string from user;

  3. 改开放ip 百分号通配符,下面方法 
  • 到mysql库的user表中

  • update user set host='%' where user='root'; #添加可以远程访问的账号 MySQL5.7版本

  • update user set host='%',password=password('123456') where host='127.0.0.1'; MySQL5.6版本

  • flush privileges; #刷新权限,保证新添加的账号可用

  • 关闭linux的防火墙,保证3306可以访问

  注意:防止mysql本地客户端数据乱码  

    /etc/my.cnf 中添加如下配置,即可
    [client]
    default-character-set=utf8

5、MySQL卸载

  • rpm -e mysql-server需要完整的包名 通过rpm -qa | grep mysql查找包名 #只需卸载主服务即可

  • rm -rf /var/lib/mysql #删除所有mysql的数据

6、MySQL root密码找回(重置)

找到/etc/my.cnf

  [mysqld]
  ...
  skip-grant-tables //注意,建议在拆除网线的情况下添加 (而且添加配置后,需要重启mysqld服务)

 

  [root@Server ~] mysql -uroot
  mysql> use mysql;
  mysql> update user set password=password('123') where host='localhost'; //5.6修改密码
  mysql> update user set authentication_string=password('123') where user='root'; //5.7修改密码

  mysql> flush privileges;

  然后将如上配置删除或注释

 

 

  

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-04-25 22:04  呵呵呀呀  阅读(192)  评论(0)    收藏  举报