美文网首页
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