1.准备工作
本教程使用华为云服务器,centos 8.2 x64 yum安装为例进行演示
2.删除内置的MariaDB
MariaDB为mysql的分支,可以与mysql无缝衔接的代替使用,为避免mysql因为收购而闭源所开发,centos7以上的linux系统一般会内置MariaDB数据库。
使用下面命令进行查看MariaDB的安装包
rpm -qa |grep mariadb
或
yum list installed | grep mariadb
然后使用下面命令依次卸载所查询出来的安装包
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64 #读者根据自己显示的包进行修改
或
yum -y remove mariadb-libs.x86_64
yum安装mysql时会自行卸载
3.添加MySQL Yum Repository
将MySQL Yum Repository 添加到系统的 repository 列表中
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7.rpm
验证是否添加成功
yum repolist enabled | grep "mysql.*-community.*"
检查yum源中的mysql版本
yum repolist all | grep mysql
默认情况下只有mysql57开启!
如要安装其他的版本的话可以使用如下命令:
例如要安装mysql56版本的话
yum -y install yum-utils #下载需要的工具包
yum-config-manager --disable mysql57-community #关闭mysql57版本
yum-config-manager --enable mysql56-community #开启mysql56版本
注意:要确保只有一个版本属于开启状态
当然也可以修改 /etc/yum.repos.d/mysql-community.repo
文件的enable属性进行修改,enabled=1表示开启,enabled=0表示关闭
3.安装mysql
导入公钥到rpm中
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
不导入的话安装时可能会报错
mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-K...
安装mysql
yum -y install mysql-community-server
如果安装时报错Error: Unable to find a match
则先执行下面命令再尝试安装
yum module disable mysql #禁用默认的mysql安装模块
4.修改文件权限
分别执行下面两条命令
chown -R mysql:mysql /var/lib/mysql/
#5.7版本以前是
chmod -R 777 /usr/local/mysql/data/
#5.7版本以后是
chmod -R 777 /var/lib/mysql
再初始化mysql
mysqld --initialize
5.启动以及验证
与mysql服务相关命令
## 启动服务
systemctl start mysqld.service
## 如果启动失败 可以看一下端口是否被占用 使用指令 netstat -tln | grep 3306
##再使用 kill -9 进程号 关闭占用的程序
## 重启
systemctl restart mysqld.service
##关闭
systemctl stop mysqld.service
## 查看mysql版本
mysqladmin --version
## 查看服务状态
systemctl status mysqld.service (按q退出查看)
##设置开机自启
systemctl enable mysqld
启动后输入systemctl status mysqld.service
显示下图则表示启动成功
6.登录mysql
mysql5.7安装后有默认的密码,输入一下命令查看密码
grep 'temporary password' /var/log/mysqld.log
得知默认密码之后使用命令
mysql_secure_installation
先输入默认密码,和新密码后一路y
进行修改。
注意:Yum或RPM包安装MySQL5.7版本时,默认安装并启用了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
如果如作者所示久久不能登录成功
则可以尝试重置密码
首先执行 vim /etc/my.cnf
命令进入mysql配置文件,
如下图所示位置添加skip-grant-tables
后保存退出
添加完毕后重启mysql
systemctl restart mysqld.service
之后就输入mysql
或者mysql -uroot -p
进入mysql系统,
然后执行下面命令就行修改密码
update mysql.user set authentication_string=password('新密码') where user='root' ;
##或者
alter user root@'localhost' identified with mysql_native_password by 'Root@123456';
# 该语句新密码为Root@123456,
然后输入exit
退出mysql,在将vim /etc/my.cnf
中的skip-grant-tables
文本注释或删掉,重启MySQL服务即可。
7.注册新的mysql成员
为确保mysql,root管理员权限的安全性,root用户一般设置为只能本地登录
为了我们能远程连接云服务器中的mysql数据库,我们需要添加而外的mysql用户.
登录mysql后
use mysql;
CREATE USER '用户名'@'登录地址' IDENTIFIED BY '密码'; //创建用户
GRANT 执行权限 PRIVILEGES ON *授予访问的数据库* TO '需要修改的用户名'@'新的登录地址' IDENTIFIED BY "密码" WITH GRANT OPTION; //修改用户信息
FLUSH PRIVILEGES; //刷新权限,修改用户权限后一定要刷新
注意事项:
-
登录地址 :
%
: 所有IP 都能登陆
localhost
: 只有本机能够登陆
192.168.0.112
: 指定192.168.0.11
ip的才能访问 -
password : 默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
-
执行权限 :
all
代表对授权数据的全部操作,除此之外还有select
,update
,delete
,insert
… -
授予访问的数据库
.
代表所有
连接测试
打开cmd,输入 mysql -h -u -p进行连接测试
8.默认的安装路径以及文件
- 客户端程序和脚本:/usr/bin
- 配置文件:/etc/my.cnf
- 数据目录路径:/var/lib/mysql
- 错误日志文件:/var/log/mysqld.log
- PID文件:/var/run/mysql/mysqld.pid
- Socket文件:/var/lib/mysql/mysql.sock
- 手册页:/usr/share/man
- 包含(头)文件:/usr/include/mysql
- lib库文件:/usr/lib/mysql
- 其他支持文件(例如,错误消息和字符集文件):/usr/share/mysql
- 服务启动脚本:/usr/lib/systemd/system/mysqld.service
如果安装失败,可以删除这些文件,并卸载mysql后多尝试几次,为了整理和测试此次mysql的安装作者花了近6个小时
创作不易,对您有所帮助可以点赞支持一下,谢谢~~