Linux CentOS 7 下的mysql服务器安装 完整教程

系统环境linux  centOS 7

mysql软件包下载

首先进入mysql官网https://www.mysql.com/,找到最新版本的mysql 的二进制rpmMySQL Yum Repository

下载mysql

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

选择mysql的安装版本

查看mysql有那些版本

yum repolist all | grep mysql

如果要安装最新的8.0的mysql,不需要修改任何配置,但是如果想安装8.0以前的版本则需要修改配置

修改打开文件

vim /etc/yum.repos.d/mysql-community.repo

编辑

i

编辑完成,退出编辑

Esc

保存退出

:wq
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

指定enabled = 0禁用子仓库,或指定enabled = 1启用子仓库。例如,要安装MySQL 5.7,请确保您为MySQL 8.0的上述子仓库项启用了enabled = 0,并为5.7系列的项启用了enabled = 1 :

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

此时可以再看一下mysql启用的版本是哪个

yum repolist enabled | grep mysql

图片.png

结果显示就是我们今天要安装的mysql 5.7版本

安装mysql

yum install mysql-community-server

出现以下图中信息,mysql就安装完成了

图片.png

启动mysql,并查看mysql状态

启动mysql,使用以下命令:

service mysqld start

对于基于EL7的平台,使用以下命令:

systemctl start mysqld.service

图片.png

你也可以查看mysql状态,使用以下命令:

service mysqld status

或者EL7平台,使用以下命令:

systemctl status mysqld.service

结果显示,active running运行中:

图片.png

登录mysql

刚新安装的mysql有个初始密码,在第一次启动后,被设置在错误日志文件中,我们可以打开日志文件找到初始密码。

要显示root用户的密码,请使用以下命令:

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

例如:下图中框出来的密码,就是初始密码

图片.png

通过使用初始密码登录mysql

mysql –u root –p

图片.png

修改mysql的密码

 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

这里需要注意:

默认情况下,安装了MySQL的validate_password插件。这将要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。

修改validate_password的设置

不想密码设置得那么复杂,譬如说,我只想设置root的密码为root

必须修改两个全局参数:

mysql>  set global validate_password_policy=0;
Query OK, 0 rows affected (0.07 sec)
 
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

再来修改密码, 这时简单密码就可以修改成功了

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

图片.png

退出mysql

mysql> quit
Bye

重新用新密码登录就OK了

授权远程登录mysql

登录mysql后,执行以下命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root'  WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.03 sec)


现在就可以从客户机连接mysql服务器了,如果连接报这样的错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.x.xxx' (10060)。因为我们是centos7,请先确认防火墙是否开启来,centos7默认是firewall,我们可以把它停止并禁止使用,然后启动我们熟悉的iptables,这样就好了!


开放3306端口

有以下两种方式

(1) 直接关闭防火墙

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service


(2) 设置 iptables service

yum -y install iptables-services

如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables

增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

重启防火墙使配置生效

systemctl restart iptables.service

设置防火墙开机启动

systemctl enable iptables.service


最后重启系统使设置生效即可。

评论

*
*