查看系统版本:7.5
cat /etc/redhat-release
首先下载rmp包:
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
首先需要在root下才行,然后解压tar
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
由于部分库会和mariadb冲突,所以可能需要先卸载mariadb
rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
这些包可以不全部安装,按照顺序安装部分如下:
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm
安装完成,初始化mysql
mysqld --initialize --user=mysql
查找生产的临时密码
grep 'temporary password' /var/log/mysqld.log
然后我们用此密码登录,然后修改密码
set password=password('123456');
或者
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。因为我没有安装密码检查插件。
启动MYSQL
systemctl start mysqld.service
[root@localhost mysqlsrc]# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2020-02-07 21:36:45 CST; 32min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4149 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 4128 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4152 (mysqld)
Tasks: 35
CGroup: /system.slice/mysqld.service
└─4152 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Feb 07 21:36:44 localhost.localdomain systemd[1]: Starting MySQL Server...
Feb 07 21:36:45 localhost.localdomain systemd[1]: Started MySQL Server.
建立远程连接账户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
设置默认编码为utf8
修改/etc/my.cnf,在[mysqld]下加入
character-set-server=utf8
重启Mysql服务。
将默认的3306端口加入防火墙,以便外部能够访问,并重启防火墙服务,查看端口是否开启
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld
[root@localhost ~]# firewall-cmd --zone=public --list-ports
3306/tcp