1.yum安装Mysql5.7

1.1 下载yum源

  1. wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  2. 安装rpm
  3. yum -y install mysql57-community-release-el7-10.noarch.rpm

1.2 安装Mysql服务

安装成功的话,/etc/yum.repos.d/会多两个mysql文件

  1. ls /etc/yum.repos.d/
  2. 显示如下
  3. mysql-community-source.repo
  4. mysql-community.repo

查看mysql57的安装源是否可用,如不可用请自行修改配置文件/etc/yum.repos.d/mysql-community.repo使mysql57下面的enable=1

  1. yum repolist enabled | grep mysql
  2. mysql-connectors-community MySQL Connectors Community 74
  3. mysql-tools-community MySQL Tools Community 74
  4. mysql57-community MySQL 5.7 Community Server 307

安装mysql服务

  1. yum install mysql-community-server --nogpgcheck

1.3 Mysql常用配置

启动mysql服务

  1. systemctl start mysqld.service

查看mysql运行状态

  1. systemctl status mysqld.service

当看到有active (running)说明启动了。
验证mysql是否成功,与MariaDB不同的是,mysql会随机生成一个初始密码。默认在/var/log/mysqld.log里,通过以下命令可以查看初始密码,冒号后面的就是。

  1. grep 'temporary password' /var/log/mysqld.log

登陆并修改密码

  1. mysql -u root -p

输入刚刚得到的初始密码

  1. use mysql;
  2. ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; #修改密码为root
  3. 如果不行,使用下面命令修改密码
  4. update user set authentication_string=password('新密码') where user='root';
  5. 刷新配置
  6. flush privileges;

如果出现初始密码一直报错,登录不进去,可按照此链接修改,亲测可用
https://www.html.cn/softprog/database/39488.html
OpenEuler主要文件位置:

  1. /etc/my.cnf #这是mysql的主配置文件
  2. /var/lib/mysql #mysql数据库的数据库文件存放位置
  3. /var/log #mysql数据库的日志输出存放位置

2. 源码包安装Mysql

前面的安装步骤对比起来稍显简单。但是前提是需要网络环境很支持的状态下。而且yum安装的软件,目录都比较乱,需要记好多目录地址。管理起来不是很方便。源码包方式我个人比较推荐。

2.1 下载源码包

下载安装包,用xftp传上到服务器上

OpenEuler下安装Mysql - 图1
选择的是绿色版安装时不需要网络支持。

2.2 解压验证

  1. 解压到自定义目录下(/usr/local下)
  2. tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local
  3. 切换到/usr/local/
  4. cd /usr/local
  5. mysql安装目录创建软链接
  6. ln -s mysql-5.7.24-linux-glibc2.12-x86_64 mysql
  7. Centos添加用户组和用户(只有所有权,没有登录权限)
  8. groupadd mysql #添加用户组
  9. useradd -r -g mysql -s /bin/false mysql #添加用户
  10. 进入到mysql目录下,把权限给新建的mysql用户
  11. cd mysql/ #切换目录
  12. chown -R mysql:mysql ./ #授权给mysql

2.3 编译安装

  1. 配置安装位置
  2. ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

安装好后,最后面会有个默认密码

2.4 常用配置

  1. 安装目录下
  2. ./support-files/mysql.server start #启动服务
  3. cp support-files/mysql.server /etc/init.d/mysqld #把mysql进程放到service目录里
  4. service mysqld restart #测试重启服务

用刚刚的默认密码,登陆,修改密码

  1. ln -s /usr/local/mysql/bin/mysql /usr/bin #创建软链接,相当于一个快捷方式,哪都可以登录
  2. mysql -u root -p #之后输入密码
  3. alter user 'root'@'localhost' identified by 'root'; #修改密码为root

3. 设置外网访问

给所有ip的root用户授权,在mysql命令行下(方法一)

  1. use mysql;
  2. update user set user.Host='%' where user.User='root';
  3. flush privileges; #刷新配置

给所有root用户和使用此密码的授权,命令行下(方法二)

  1. grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
  2. flush privileges; #刷新配置

开放3306端口(Centos7下),其他版本好像防火墙是iptables

  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent #添加端口
  2. firewall-cmd --reload #重载
  3. firewall-cmd --zone=public --query-port=3306/tcp #查看