centos7安装mysql8

 

1.安装前清理node

  1.1. 清理原有数据库
    1.1.1. 清理软件包
      使用 “rpm -pa | grep mysql” 查看原有的软件包和依赖包,将结果使用 “yum remove 包名”逐一删除。
    1.1.2. 清理配置
      使用“find / -name mysql”查看全部mysql配置,将结果使用“rm -rf 文件名”逐一删除。
  1.2. 删除 mariadb 文件
    因为MySQL在CentOS7中收费了,因此已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,因此须要先卸载掉MariaDB.
    查看:rpm -qa | grep mariadb
    可能结果:mariadb-libs-5.5.56-2.el7.x86_64
    删除:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
    若是出错,则使用强制删除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2. 下载安装包
  centos的yum 源中默认是没有mysql的,因此咱们须要先去官网下载mysql的repo源并安装;
  2.1. 访问官网,查看最新安装包
    https://dev.mysql.com/downloads/repo/yum/
  2.2. 选择版本,点击“download”mysql

    

  2.3. 登陆
    若是是未登陆状态,会要求登陆。此时会跳转到 oracle 单点登陆页面,登陆本身的 oracle 帐号便可(没有帐号就注册一个,如今下载 oracle 的产品都须要登陆,好比 jdk)
  2.4. 登陆后回到上述页面,右键选择的版本对应的download按钮,点击“复制连接地址菜单项”
  2.5. 登陆Linux服务器,进入到某个目录(如 /usr/local/src),使用 wget 下载源安装包
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsql

3. 安装mysql源
  3.1. 安装 yum repo 文件
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    执行结果会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo数据库

      

  3.2. 更新yum缓存
    yum clean allcentos

      

    yum makecache缓存

      

4. 安装mysql服务器
  4.1. 选择版本
    当咱们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择本身的版本;
    4.1.1. 查看mysql yum仓库中mysql版本,使用以下命令
      yum repolist all | grep mysql安全

        

      能够看到mysql8是可用的,其它是禁用的,我正好是须要安装mysql8,因此不用管了。若是想要安装其它版本能够修改服务器

    4.1.2. 修改禁用启用规则
      yum-config-manager --enable mysql57-community
      若是命令无效,能够直接编辑 mysql repooracle

        

  4.2. 安装mysql服务
    yum install mysql-community-server测试

    中间有须要确认的步骤就一直 “y” 就好了。

    

    

5. 启动服务,测试链接
  启动:systemctl start mysqld.service
  中止:systemctl stop mysqld.service
  重启:systemctl restart mysqld.service
  查看服务状态:systemctl status mysqld.service
6. 修改初始密码
  6.1. 查看初始密码
    mysql在安装后会建立一个root@locahost帐户,而且把初始的密码放到了/var/log/mysqld.log文件中;
    查看:cat /var/log/mysqld.log

    

    初始登陆密码只能用于登陆mysql,不能进行其它操做。会强制要求用户修改密码。

  6.2. 修改初始密码

    使用初始密码登陆:mysql -uroot -p

    若是不修改,则任何操做时会提示以下错误:

      You must reset your password using ALTER USER statement before executing this statement.

    修改方式是登陆后使用如下语句

      ALTER USER USER() IDENTIFIED BY '新密码'

    值得注意的是,新密码必须符合安全策略(就是足够复杂,mysql8的默认安全策略级别是 中等,像123456这些确定是过不了的),不然会提示以下错误:

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

    修改为功以后咱们能够看一下mysql服务器的密码安全策略等级:SHOW VARIABLES LIKE 'validate_password%',结果以下:

      

7. 容许远程登陆

  mysql8安装完成以后,root用户只容许本地登陆远程登陆会报错:

    ERROR 1130 (HY000): Host '120.79.172.133' is not allowed to connect to this MySQL server

  放开远程权限的方法是登陆以后,执行

    use mysql;

    update user set host = '%' where user = 'root';

    flush privileges;

8. 修改密码加密方式

  通过 7. 以后,发现远程仍是不能登陆,可是报错有所不一样了:

    Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

  这是由于mysql7以后,默认的密码加密方式更改了,可是你使用的客户端没有升级,不支持此种加密方式,解决方法是更改服务器加密方式为传统加密方式或者升级客户端。若是是新项目建议使用第二种,毕竟新的确定更好。若是是存量项目的数据库迁移或者升级,考虑到兼容问题和稳定性,建议使用第一种。

  修改加密方式为本地登陆以后执行:

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

  至此,mysql服务已经可使用了。

9. 修改默认服务端口

  mysql默认端口号是 3306。通常线上数据库,出于安全考虑,都会修改默认端口号。

  9.1. 编辑“/etc/my.cnf”文件

    vi /etc/my.cnf

  9.2. 添加行

    port=新端口;

  9.3. 重启mysql服务

    systemctl restart mysqld.service

 

完!

 

相关文章
相关标签/搜索