环境介绍
软件 | 版本 |
---|---|
System: | CentOS 7 64位 |
Software: | mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar(官网下载)createrepo(通过yum进行在线安装) |
下面的命令会直接将软件下载到/opt/software目录下,software目录需要手动创建
# 创建目录
mkdir /opt/software
# 下载
wget -O /opt/software/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
开始安装
创建目录
mkdir -p /usr/local/yum/mysqlRPMs
解压tar包到刚刚创建的目录
tar -xvf /opt/software/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar -C /usr/local/yum/mysqlRPMs
安装createrepo
yum install -y createrepo
编写yum配置文件
vim /etc/yum.repos.d/mysql-local.repo
内容如下:
[mysql-local]
name=mysql-local
baseurl=file:///usr/local/yum
gpgcheck=0
enabled=1
生成yum元数据
createrepo /usr/local/yum
命令执行后所返回的信息
[root@centos7 ~]# createrepo /usr/local/yum
Spawning worker 0 with 3 pkgs
Spawning worker 1 with 3 pkgs
Spawning worker 2 with 3 pkgs
Spawning worker 3 with 3 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
检查本地源中是否有MySQL信息
yum list | grep mysql-local
返回信息如下:
mysql-community-client.x86_64 5.7.34-1.el7 mysql-local
mysql-community-common.x86_64 5.7.34-1.el7 mysql-local
mysql-community-devel.x86_64 5.7.34-1.el7 mysql-local
mysql-community-embedded.x86_64 5.7.34-1.el7 mysql-local
mysql-community-embedded-compat.x86_64 5.7.34-1.el7 mysql-local
mysql-community-embedded-devel.x86_64 5.7.34-1.el7 mysql-local
mysql-community-libs.x86_64 5.7.34-1.el7 mysql-local
mysql-community-libs-compat.x86_64 5.7.34-1.el7 mysql-local
mysql-community-server.x86_64 5.7.34-1.el7 mysql-local
mysql-community-test.x86_64 5.7.34-1.el7 mysql-local
- 开始安装MySQL
yum install -y mysql-community-*
成功后截图
配置MySQL
mysql在安装之后此时并未进行初始化,MySQL服务并不能使用。
初始化MySQL
mysqld --initialize --user=mysql --console
获取MySQL初始化密码
grep password /var/log/mysqld.log
在返回的结果中,最后的字符串是mysql的初始化密码,如下“a?li8GfhlPE>”就是密码,需要注意,默认只有360秒的有效期
2023-02-23T05:12:04.737785Z 1 [Note] A temporary password is generated for root@localhost: a?li8GfhlPE>
启动MySQL服务端
systemctl start mysqld
通过客户端登录,然后修改密码:
单引号中的内容是要修改的root账户密码
mysql -uroot -p
ALTER USER user() IDENTIFIED BY 'root';
flush privileges;
开放MySQL远程访问/登录权限
MySQL默认仅允许本地访问,即便是操作系统的防火墙关闭或开放了3306端口外部也依然无法进行访问。
在登录mysql之后,执行下列的操作
use mysql
select user,host from user;
返回结果:
mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)
执行命令:
update user set host = '%' where user ='root';
select user,host from user;
返回结果:
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
至此,MySQL在Linux(CentOS7)系统中的安装已全部完成,且允许远程的方式进行访问。