美文网首页
CentOS 7 安装mysql

CentOS 7 安装mysql

作者: 被骗8000丶mata川 | 来源:发表于2019-02-28 00:47 被阅读0次

    我使用的CentOS 版本号是7.6.1810.
    安装mysql

    步骤一:卸载CentOS自带的MariaDB

    rpm -pa|grep mariadb
    

    用这个命令查找出要删除的MariaDB文件
    结果显示如下。

    mariadb-libs-5.5.56-2.el7.x86_64
    

    删除这个程序

    rpm -e mariadb-libs-5.5.56-2.el7.x86_64
    

    报错

    依赖检测失败:
     
    libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
     
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
     
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
    

    使用强制删除

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    

    步骤二: 安装mysql

    • 到mysql 官网找社区版,下载需要安装的mysql包。
    • 因为CentOS是基于RedHat的,mysql没有CentOS包,就找到Red Hat的包


      mysql官网.png
    • 也就是底下第一个,490M
    • 下载完成后解压到目录中。

    依照以下顺序安装

    (1) mysql-community-common-8.0.11-1.el7.x86_64.rpm
    (2) mysql-community-libs-8.0.11-1.el7.x86_64.rpm
    (3) mysql-community-client-8.0.11-1.el7.x86_64.rpm
    (4) mysql-community-server-8.0.11-1.el7.x86_64.rpm
    

    你也可以按照这个列表逐个下载,本文为了方便,选择了全集包。

    启动Mysql

    service mysqld start 
    

    获取初始管理员密码

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

    此时拿到初始管理员密码,登录mysql
    修改初始管理员密码

    alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass123!';
    mysql8.0以上密码策略限制必须要大小写加数字特殊符号
    

    添加账户
    为了安全起见,强烈建议在远程连接的时候使用非root账户。创建test用户,密码为“MyNewPass1!”,为其分配所有权限

    CREATE USER 'test'@'localhost' IDENTIFIED BY 'MyNewPass1!';
    GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION;
    
    CREATE USER 'test'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;
    
    flush privileges;
    

    对于新创建的账户,MySQL 8默认它的密码插件为caching_sha2_password,而现有的客户端工具大都只支持mysql_native_password插件,如果你用现有版本的客户端工具链接会报错“authentication plugin caching_sha2_password cannot be loaded”。

    解决方法是改变用户的密码插件:

    ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass1!';
    flush privileges;
    

    然后需要修改配置文件:

    vi /etc/my.cnf
    
    配置文件中,将这一行的#符去掉.png

    重新启动:

    systemctl restart mysqld
    

    查看用户和权限是否创建成功

    select user, host, plugin, authentication_string from mysql.user;
    SHOW GRANTS FOR 'test'@'%';
    

    设置开机启动

    systemctl enable mysqld
    

    开放端口

    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-ports
    ``

    相关文章

      网友评论

          本文标题:CentOS 7 安装mysql

          本文链接:https://www.haomeiwen.com/subject/qkaquqtx.html