- 首先进入home目录,执行命令下载:
cd home
# 下载安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
-
执行安装命令
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
-
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo 必须进入到 /etc/yum.repos.d/目录后再执行安装,如下:
cd /etc/yum.repos.d/ # nogpgcheck表示不校验key yum install -y mysql-server --nogpgcheck
-
安装完毕,启动数据库:
#启动数据库 systemctl start mysqld #开机自启动 systemctl enable mysqld 其他命令: # 关闭开机启动 systemctl stop mysqld # 关闭MySQL systemctl stop mysqld # 重启MySQL systemctl restart mysqld # 查看运行状态 systemctl status mysqld (active running 表示运行状态)ctrl+z 可以退出这个界面
设置root密码
-
进入MySQL数据配置文件进行修改
vi /etc/my.cnf
将 “skip-grant-tables” 放到最后一行,含义是免登陆。
-
然后重启:
systemctl restart mysqld.service
直接免密登录,输入:
mysql -uroot -p
此时提示要你输入密码,什么都不用输入,直接回车就可以进入数据库了
-
登录到数据库页面之后输入如下命令
use mysql; # 5.7以上版本运行: update user set password= password("123456") where user='root'; # 5.7以下版本运行: update user set authentication_string= password("AaBb123456") where user='root';
输入命令后可能会报错:“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”,由于自定义密码比较简单,就出现了不符合密码策略的问题。
方式一:加强密码强度,字母+数字 大于8位
方拾二:修改策略
首先需要设置密码的验证强度等级:
set global validate_password_policy=LOW;
设置为 6 位的密码
set global validate_password_length=6;
-
使用工具连接数据库时会报错
这个问题就是说没有给远程连接权限
- 命令行登录mysql
mysql -u root -p
- 进入到mysql数据库
use mysql;
- 查看当前数据库下,用户表的数据(主机,用户)
select Host, User from user;
- 修改user表主机
update user set Host='%' where User='root';
-
刷新权限
FLUSH PRIVILEGES;
连接测试,成功!
最后别忘了把免登陆删掉!!!
修改mysql端口
-
打开my.cnf文件
vi /etc/my.cnf
-
如果有就修改port端口,如果没有就新增
port=3308
-
重启mysql服务
systemctl restart mysql.service
启动可能会出现下面错误信息
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
查看日志报错
[ERROR] Can't start server: Bind on TCP/IP port: Permission denied [ERROR] Do you already have another mysqld server running on port: 3308 ? [ERROR] Aborting
这是因为selinux防火墙未关闭
解决方案
vi /etc/selinux/config SELINUX=disabled
eady have another mysqld server running on port: 3308 ?
[ERROR] Aborting
这是因为selinux防火墙未关闭
解决方案
vi /etc/selinux/config
SELINUX=disabled
重启服务器即可