一、MySQL数据库安装
博主用的是CentOS7.8版本,MySQL是8.0
1.首先检查Linux主机MySQL的安装情况
rpm -qa|grep mysql
没有反应是正常的,CentOS7系统默认没有安装MySQL数据库,要自己安装。
2.安装方式有以下三种
(1)通过yum命令在线下载安装
(2)下载离线rpm安装包安装
(3)下载源码编译安装
其中第二种和第三种安装成功率都不高,因此,推荐使用yum在线安装
3.获取MySQL数据库安装源
https://dev.mysql.com/downloads/repo/yum/
wget+链接 直接从mysql官网上下载安装包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下载完毕后安装数据源
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
4.通过yum数据源安装MySQL数据库
yum -y install mysql-community-server
查看版本号
mysql -V
安装成功!!!
二、MySQL数据库的初始化操作
1.初次登录MySQL
mysql -u root -p
首次登录MySQL需要root用户密码,这是MySQL数据库5.7之后版本的新要求
这里有一个报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
博主花了蛮长时间才解决,所以专门写了一篇解决方案https://blog.csdn.net/qq_46426731/article/details/117743981,这里就不多说了。
我们可以通过查看MySQL数据库的日志文件找到密码,输入后就登录成功了
grep "password" /var/log/mysqld.log
2.重置用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
MySQL5.7版本之后默认设置了密码安全检查插件,密码必须包含大小写字母、数字和特殊符号,并且长度不少于8位
3.断开MySQL连接
quit
4.启动MySQL服务
使用MySQL数据库之前必须启动MySQL服务器
查看状态
systemctl status mysqld
启动服务
systemctl start mysqld
停止服务
systemctl stop mysqld
三、MySQL数据库的管理和维护
1.修改root用户的远程访问权限
查看用户表
select user,host from mysql.user;
root用户默认host值是localhost,即只允许本地操作,要实现远程访问必须把host改为%
update mysql.user set host='%' where user='root';
2.防火墙开启3306端口
MySQL数据库的远程访问还需要防火墙开启数据库的3306端口
firewall -cmd --permanent --add -port=3306/tcp
修改配置后需要重启防火墙
firewall -cmd --reload
再重新启动mysql服务器
systemctl restart mysqld
2.MySQL数据库的用户创建以及授权
创建zzy用户,赋予远程访问权限
CREATE USER 'zzy'@'%' IDENTIFIED BY '你的密码';
新用户创建完成后,虽然有用户名和密码但是登录时会报错,因为还没有给这个用户分配相应的权限。分配所有权限:
GRANT ALL ON *.* TO 'zzy'@'%' WITH GRANT OPTION;
最后创建用户后一定要刷新才可以使用
FLUSH PRIVILEGES;
删除用户(不想要了就删)
DROP USER zzy@%;
3.远程连接数据库
测试连接,成功!