美文网首页
MySQL安装(CentOS版)

MySQL安装(CentOS版)

作者: 远方的橄榄树 | 来源:发表于2020-09-04 19:08 被阅读0次

    安装MySQL

    到MySQL官网下载yum资源包,下载链接如下
    https://dev.mysql.com/downloads/repo/yum/

    点击Download下载

    选择合适的版本下载,并通过WinSCP或xftp放到linux服务器上。我下载的版本是mysql80-community-release-el7-3.noarch.rpm

    安装命令:

    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    yum install mysql-server
    

    安装过程中会提示你添加依赖,输入y即可。


    初始化MySQL:
    mysqld --initialize
    

    验证MySQL安装:

    mysqladmin --version
    

    若输出以下信息则表示安装成功

    [root@localhost downloads]# mysqladmin --version
    mysqladmin  Ver 8.0.17 for Linux on x86_64 (Source distribution)
    

    启动MySQL:

    service mysqld start
    

    查看MySQL运行状态:

    service mysqld status
    

    如果MySQL的状态为\color{#34a853}{active (running)},则表示MySQL安装成功。

    问题解决

    安装过程中可能出现如下错误

    1、MySQL启动失败。

    使用service mysqld start命令启动时,产生以下错误。

    Redirecting to /bin/systemctl start mysqld.service
    Job for mysqld.service failed because the control process exited with error code.
    See "systemctl status mysqld.service" and "journalctl -xe" for details.
    

    这是因为目录权限不足造成的,通过查看mysql目录发现该目录下有的文件归属还是root,改成mysql。

    [root@localhost downloads]# ll /var/lib/mysql |grep mysql
    [root@localhost downloads]# chown -R mysql:mysql /var/lib/mysql
    

    重新启动服务即可。

    [root@localhost downloads]# service mysqld stop
    [root@localhost downloads]# service mysqld start
    

    2、登录时出现错误

    [root@localhost downloads]# mysql -uroot -p
    Enter password: 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    

    停止mysql服务:

    [root@localhost downloads]# service mysqld stop
    

    修改配置文件无密码登录:

    vi /etc/my.cnf
    

    在其后面添加如下内容

    [mysqld]
    skip-grant-tables
    

    保存并启动MySQL

    [root@localhost downloads]# service mysqld start
    

    重新登录,这此没有密码便可直接进入。

    mysql -u root
    

    使用mysql数据库,更新密码为空,退出:

    mysql> use mysql;
    mysql> update user set authentication_string='' where user='root';
    mysql> exit
    

    删除(或注释掉)之前添加到skip-grant-tables,并重启MySQL。

    [root@localhost downloads]# service mysqld restart
    

    修改root用户的密码(这里我将密码设置成123456):

    mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
    

    退出MySQL,再用新的密码重新登录即可。

    3、外网访问MySQL

    1、改变MySQL的连接权限
    由于MySQL的默认的root的连接权限只是本机的,因此,我们需要开启外网访问的权限。

    mysql> use mysql;
    //查看mysql的user表
    mysql> select host, user from user;
    +-----------+------------------+
    | host      | user             |
    +-----------+------------------+
    | localhost | mysql.infoschema |
    | localhost | mysql.session    |
    | localhost | mysql.sys        |
    | localhost | root             |
    +-----------+------------------+
    mysql> update user set host = '%' where user = 'root';
    mysql> select host, user from user;
    +-----------+------------------+
    | host      | user             |
    +-----------+------------------+
    | %         | root             |
    | localhost | mysql.infoschema |
    | localhost | mysql.session    |
    | localhost | mysql.sys        |
    +-----------+------------------+
    

    这样就可以使得账号root能够被其他IP连接入数据库了。
    2、配置防火墙

    // 开通3306端口
    [root@localhost downloads]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    success
    // 重新启动防火墙
    [root@localhost downloads]# systemctl restart firewalld
    // 查看系统所有开放的端口
    [root@localhost downloads]# firewall-cmd --zone=public --list-ports
    6379/tcp 3306/tcp
    

    这样我们就可以从外网访问数据库了。

    相关文章

      网友评论

          本文标题:MySQL安装(CentOS版)

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