CentOS7安装MySQL8.0

一,下载安装mysql

1.下载mysql

打开官网下载mysql,官网地址:MySQL :: Download MySQL Community Server (Archived Versions)

2.解压mysql

将下载好的tar包上传到Linux服务器,并进行解压

[root@localhost backup]# ll
-rw-r--r--. 1 root root 490922012 5月  16 11:02 mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
[root@localhost backup]# tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

将解压好的mysql文件夹命名为mysql

[root@localhost backup]# mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql

3.创建用户组及用户

[root@localhost backup]# groupadd mysql
[root@localhost backup]# useradd -g mysql mysql

创建mysql用户组及用户的目的:

(1)安全:

分离权限:使用独立的MySQL用户和用户组运行MySQL服务,可以防止数据库进程以root或其他特权用户身份运行。这样即使MySQL服务器被攻击,潜在的危害也会被限制在这个特定用户的权限范围内。
降低风险:如果MySQL程序有漏洞,或者配置不当导致安全问题,攻击者获取到的权限将受限于这个专门的MySQL用户,而不是具有系统完全控制权的root用户。
(2)权限管理:

精细控制:为MySQL创建单独的用户和用户组使得对文件和目录权限的管理更加容易。例如,可以通过更改文件的所有者和组来确保只有MySQL用户和用户组才能访问数据库文件。
防止意外修改:非MySQL用户不会直接拥有对数据库文件的访问权限,从而减少了由于误操作或恶意行为而破坏数据的风险。
(3)兼容性与一致性:

不同Linux发行版之间的差异:虽然创建用户的方法大体相同,但每个发行版可能有一些细节上的不同。通过自己创建用户和用户组,可以确保在任何发行版上都能按照一致的方式进行安装。
安装包预设:如果你使用的是Linux发行版提供的预编译安装包,那么这些工作通常已经由安装脚本完成。手动创建用户和用户组是为了保持与这种做法的一致性。
(4)最佳实践:

根据Unix/Linux的安全模型,最小化每个进程所需的权限是一种最佳实践。为MySQL创建一个专用用户和用户组符合这一原则,因为它只赋予了运行MySQL所需的确切权限。

4.授权用户组

[root@localhost mysql]# chown -R mysql.mysql /home/mysql

5.修改配置文件

[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
# mysql可在其他服务器连接配置
bind-address=0.0.0.0
# mysql端口
port=3306
#mysql用户,注:该用户
user=root
# mysql安装目录地址
basedir=/home/mysql/mysql
#mysql数据文件地址
datadir=/home/mysql/data
#服务器端连接文件
socket=/home/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#该配置为mysql数据库大小写区分标识,0:区分大小写,1:不区分大小写,默认为:0
lower_case_table_names=1


[mysqld_safe]
# mysql日志文件存储路径及文件
log-error=/home/mysql/mysql.log
# mysql进程存储路径及文件
pid-file=/home/mysql/mysql.pid

#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

#
# include all files from the config directory
#
# mysql客户端配置
[client]
# mysql可在其他服务器连接配置
bind-address=0.0.0.0
port=3306
socket=/home/mysql/mysql.sock

6.初始化安装

切换到mysql的bin目录下进行初始化

[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql/mysql --datadir=/home/mysql/data/ --user=mysql --initialize

初始化完成后,会返回mysql的初始登录密码

2024-05-16T03:36:56.482728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: upU(,KF5#t>(

其中root@localhost:后面的皆为mysql初始登录密码

二,启动并连接mysql

1.启动mysql

启动mysql,切换到mysql安装目录的support-files文件夹下,执行启动脚本,显示SUCCESS即为启动成功

[root@localhost support-files]# ./mysql.server start
Starting MySQL SUCCESS!

本地连接mysql服务,注:在连接mysql服务之前,需要将mysql服务添加到环境变量中

2.mysql环境变量配置

[root@localhost support-files]# vim ~/.bashrc

打开环境变量配置文件,添加:export PATH=$PATH:/home/mysql/mysql/bin  即可,重启环境变量文件即可:source ~/.bashrc

3.启动mysql

[root@localhost support-files]# mysql -u root -p
Enter password:

输入初始密码即可连接成功

4.修改密码并登录

更新用户初始密码,退出登录后再次通过初始密码访问

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

5.外部服务器访问配置

mysql> use mysql;  #切换到mysql数据量
mysql> select host,user from user; #查看当前数据库所有用户
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+
7 rows in set (0.00 sec)
mysql> update user set host = '%' where user = 'root'; # 修改用户名为root的host为%
mysql> FLUSH PRIVILEGES; # 刷新权限
mysql> select host,user from user; # 查看修改结果
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+

配置完成,即可在windows通过Navicat进行访问

三,mysql其他命令

1.mysql退出登录

mysql> exit
# 或者
mysql> quit

2.mysql关闭命令

[root@localhost support-files]# ./mysql.server stop

3.mysql状态查询命令

[root@localhost support-files]# ./mysql.server status
 SUCCESS! MySQL running (102929)

4.mysql重启命令

[root@localhost support-files]# ./mysql.server restart

四,mysql创建用户及分配权限

-- 创建用户
CREATE USER '数据库名'@'localhost' IDENTIFIED BY '密码';
-- 创建权限
GRANT SELECT, INSERT, UPDATE, DELETE ON 数据库名.* TO '数据库名'@'localhost';
  • 40
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值