Centos7在线安装MySQL5
1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。 下载命令:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
注意:如果wget没有安装,先执行如下命令进行wget安装:yum -y install wget
2、然后进行repo的安装:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件==mysql-community.repo mysql-community-source.repo==
二、使用yum命令即可完成安装
注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本cd /etc/yum.repos.d/
1、安装命令:
yum install mysql-server
如果报错:
mysql-community-libs-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装
失败的软件包是:mysql-community-libs-5.7.37-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
可以修改配置跳过校验,修改/etc/yum.repos.d/mysql-community.repo文件内容
修改对应安装版本的gpgcheck=0即可,默认值为1
2、启动msyql:
systemctl start mysqld
#启动MySQL
3、获取安装时的临时密码(在第一次登录时就是用这个密码):
grep 'temporary password' /var/log/mysqld.log
三、登录
输入命令:mysql -u root -p
然后输入密码(刚刚获取的临时密码)
四、登录成功后操作
如果直接设置简单的密码,mysql会报错:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '@abcd123456'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决办法:先设置一个复杂的密码,然后修改密码设置策略。
设置复杂密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xiandai403@';
查看 mysql 初始的密码策略:
mysql> SHOW VARIABLES LIKE'validate_password%';
首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可:set global validate_password_policy=LOW;
当前密码长度为 8 ,修改密码长度为6 位的密码:set global validate_password_length=6;
然后就可以设置简单的密码了:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
可以验证一下密码是否修改成功,输入quit
或者exit
退出mysql,再输入mysql -uroot -p
,然后输入==123456==测试是否能够登录mysql。
修改用户权限让数据库可以远程连接
mysql> use mysql; mysql> select Host, User from user;mysql> update user set host ='%' where user='root'; mysql> flush privileges; mysql> quit;
配置mysql:vi /etc/my.cnf
增加如下内容:
character-set-server=utf8lower_case_table_names=0slow_query_log=1long_query_time=10.000000
重新启动Mysql服务:systemctl restart mysqld
再登录MySQL:mysql -u root -p
至此,安装成功!
开期防火墙3306
查看是端口是否开放
firewall-cmd --query-port=3306/tcp
看到这个no了吗,代表没开
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
然后记得重启下防火墙,可以不用重启机子,别问我为啥知道
使用 firewall-cmd --reload 重启防火墙
再次查看3306端口是否开放