一、安装Mysql数据库
1、安装依赖及Mysql数据库
# 安装yum-utils工具
[root@localhost ~] yum install yum-utils
# 添加MySQL官方的Yum仓库
[root@localhost home] rpm -Uvh https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
# 添加Mysql官方的Yum仓库(提前下载好的rpm包,直接执行)
[root@localhost ~] rpm -ivh ./mysql84-community-release-el7-1.noarch.rpm
# 安装Mysql数据库
[root@localhost home] yum install mysql-community-server
# 启动Mysql数据库
[root@localhost home] systemctl start mysqld
# 检查Mysql数据库启动状态
[root@localhost home] systemctl status mysqld
2、设置数据库密码
# 查看Mysql临时密码(下方1foO5_gwDktt为临时密码)
[root@localhost home] cat /var/log/mysqld.log | grep password
2024-06-09T04:37:47.967571Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 1foO5_gwDktt
# 使用临时密码登陆数据库
[root@localhost home] mysql -uroot -p'1foO5_gwDktt' -hlocalhost
# 修改Mysql数据库密码(Mysql8不支持简易密码,此处将密码设置为“Mysql123_”)
mysql> alter user 'root'@'localhost' identified by 'Mysql123_';
# 退出mysql登陆
mysql> exit
# 使用新设置的密码登陆
[root@localhost home] mysql -uroot -pMysql123_
# 查看当前数据库版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.4.0 |
+-----------+
1 row in set (0.00 sec)
# 设置密码的验证强度等级为LOW,使其只验证长度【开发不境,不想设复杂密码】
# 如需持久化到配置文件,使用set persist validate_password.policy=LOW;
mysql> set global validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)
# 设置密码长度为4位
# 如需持久化到配置文件,使用set persist validate_password.length=4;
mysql> set global validate_password.length=4;
Query OK, 0 rows affected (0.00 sec)
# 修改root账号密码为mysql
mysql> alter user 'root'@'localhost' identified by 'mysql';
Query OK, 0 rows affected (0.01 sec)
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
3、创建远程访问账号
注:Mysql8之后不支持授权时创建用户,需先创建用户再进行授权
# 创建远程访问账号root并设置密码为mysql
mysql> create user 'root'@'%' identified by 'mysql';
Query OK, 0 rows affected (0.01 sec)
# 权限远程访问账号
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
# 刷新账号授权
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 退出Mysql账号
mysql> exit
Bye
4、开放Mysql数据库3306端口
# 开放Mysql数据库3306端口
[root@localhost ~] firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
# Reload防火墙端口
[root@localhost ~] firewall-cmd --reload
success
# 查看防火墙开放端口
[root@localhost ~] firewall-cmd --list-ports
3306/tcp
5、修改Mysql数据库配置
注:默认Mysql配置文件在/etc/my.cnf,也可以使用echo $mysql_install_db_path查看路径
# Mysql默认日志文件保存30天,建议设置为7天(单位为秒)
mysql> set global binlog_expire_logs_seconds=60*60*24*7;
Query OK, 0 rows affected (0.00 sec)
# 查询Mysql参数设置的值
mysql> show variables like '%expire%';
+--------------------------------+--------+
| Variable_name | Value |
+--------------------------------+--------+
| binlog_expire_logs_auto_purge | ON |
| binlog_expire_logs_seconds | 604800 |
| disconnect_on_expired_password | ON |
+--------------------------------+--------+
3 rows in set (0.00 sec)
# Mysql参数持久化到配置文件,防止重启丢失
mysql> set persist binlog_expire_logs_seconds=60*60*24*7;
Query OK, 0 rows affected (0.01 sec)
6、常用Mysql服务管理指令
# 启动Mysql数据库
[root@localhost ~] systemctl start mysqld
# 关闭Mysql数据库
[root@localhost ~] systemctl stop mysqld
# 重启Mysql数据库
[root@localhost ~] systemctl restart mysqld
# 查询Mysql运行状态
[root@localhost ~] systemctl status mysqld
# 设置Mysql开机启动(Mysql安装后默认开机启动)
[root@localhost ~] systemctl enable mysqld
# 禁用Mysql开机启动
[root@localhost ~] systemctl disable mysqld