CentOS 7中mysql 数据库服务器的安装

wget网络下载rpm安装包、离线安装mysql 5.7数据库服务器(速度快,较复杂、成功率一般)

Step 1:软件冲突的问题

centos 7.9自带的数据库管理软件mariadb,会跟mysql冲突,按如下2个步骤先进行删除

  1. 运行rpm  -qa  |  grep mariadb                        # 首先查看mariadb相关安装包是否已经安装
  2. 运行rpm  -e  mariadb-libs   --nodeps       # 需要先卸载mariadb相关的软件包(--nodeps表示不检查依赖关系)

Step 2:mysql安装包的获取

  1. 新建文件夹/opt/mysql,并cd切换进去(/opt/mysql是mysql安装包存放的位置)
  2. mysql安装包的获取(2种方法)
    1. 使用“wget  http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar”在线下载mysql安装包
    2. 使用xftp工具软件将Windows物理主机中已经下载好的mysql安装包文件上传到linux虚拟机或linux云服务器中

Step 3:mysql安装包的解包解压缩

  1. 运行tar  -xvf  mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar    # 解压缩后会出现10个rpm安装包文件

Step 4:安装mysql相关的四个软件包

  1. 按如下顺序依次安装4个软件包
  • rpm  -ivh   mysql-community-common-5.7.26-1.el7.x86_64.rpm
  • rpm  -ivh   mysql-community-libs-5.7.26-1.el7.x86_64.rpm
  • rpm  -ivh   mysql-community-client-5.7.26-1.el7.x86_64.rpm
  • rpm  -ivh   mysql-community-server-5.7.26-1.el7.x86_64.rpm

提示1:在虚拟机中有可能无法安装第4个server软件包,此时需要使用命令“yum update -y”更新所有软件安装包(有可能需要较长时间)

提示2:在云服务器中安装上面4个软件包时,很有可能出现的3行错误提示信息:

libaio.so.1()(64bit) is needed by mysql-community-server-5.7.26-1.el7.x86_64

              libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.26-1.el7.x86_64

              libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.26-1.el7.x86_64

此时,可以使用“yum  install  libaio -y”先把依赖包libaio安装上即可。

Step 5:查看mysql是否正确安装、查看mysql配置文件、查看mysql安装路径

  1. 运行rpm  -qa  |  grep   mysql                 # 查看是否已经正确安装上述4个软件包
  2. 运行cat /etc/my.cnf                                    # 可以查看mysql的默认安装位置:/var/lib/mysql
  3. 运行ll  /var/lib/mysql                                  # 查看mysql服务器安装路径下有无内容

Step 6:修改配置文件,永久设置myql服务器中数据库支持中文字符集

  1. vim  /etc/my.cnf
  2. 添加方法如下:
    1. 在[client]下方添加一行:default-character-set=utf8
    2. 在[mysqld]下方添加下面的2行:
      1. collation_server=utf8_general_ci
      2. character-set_server=utf8

Step 7:启动mysql数据库服务器

  1. 运行systemctl  start  mysqld.service          # 启动mysql服务器

Step 8:查看mysqld服务的pid、user、工作状态、监听端口号

  1. 运行ps  -ef  |  grep  mysqld                    # 查看系统已经启动的mysql数据库服务器进程
  2. 运行systemctl  status  mysqld.service        # 查看mysql服务器进程运行状态
  3. 运行netstat   -antp  |  grep “mysqld”      # 查看Linux服务器端口,发现mysqld正在监听3306端口

Step 9:获取mysql服务器的root账户的初始密码、登录mysql服务器

  1. 获取数据库服务器的root账户的初始密码:mysql会自动给root用户设置随机的12个字符的密码,运行grep  “password”   /var/log/mysqld.log  在行的结尾处看到当前root用户的初始密码(复制该密码)
  2. 使用初始密码登陆mysql数据库服务器:
    1. 方法1:运行mysql  -uroot  -p初始密码 # 回车后即可登录
    2. 方法2:运行mysql  -uroot  -p              # 回车后根据提示输入随机密码,此时可以成功登录mysql服务器
  3. 此时mysql数据库服务器的环境搭建流程结束

Step 10:立刻修改mysql服务器的root账户的密码

  1. 设置root用户密码,对于个人开发环境,密码可以设置简单一些(实际生产环境要设置复杂密码);个人使用数据库服务器时可以运行命令:set  global  validate_password_policy=0;  将密码策略修改为0。(validate_password_policy密码策略默认值是1)
    提示:mysql密码复杂度要求被分为3种:
  • 低:0 or LOW  |  Length  只要求长度(默认8位)
  • 中:1 or MEDIUM  |  Length;  numeric, lowercase/uppercase, and special characters
  • 高:2 or STRONG  |  Length;  numeric, lowercase/uppercase, and special characters; dictionary file
  1. 运行命令:set  password  for  root@localhost=password('kwxy1234'); 
    # 上方命令行等价于alter user  root@localhost   identified  by  'kwxy1234';

字符串kwxy1234为新密码 

#  尝试下面命令:mysql> show variables like 'validate_password%';  可以看到全局变量validate_password_policy的Value值为“Low”

  1. 执行命令:flush   privileges;     # 使密码设置立刻生效

Step 11:授权root用户可以在任何地点登录mysql 5数据库服务器,并可以访问所有数据库中的数据表

  1. 执行命令:grant all privileges on *.* to 'root'@'%' identified by 'kwxy1234' with grant option;

# *.*  表示 数据库名.表名,用户可以访问所有数据库中的所有数据表

# %   表示对登录mysql服务器的IP地址没有限制

  1. 执行命令:flush   privileges;

Step 12:退出当前mysql 5数据库服务器,使用新密码重新登录

  1. 执行命令quit 或exit或ctrl+d可以退出mysql,然后使用新密码重新登录mysql服务器
    1. 登录方法1:mysql  -uroot   -pkwxy1234
    2. 登录方法2:mysql  -u   root   -pkwxy1234
    3. 登录方法3:mysql  -u   root   -p
    4. 登录方法4:mysql  -uroot   -p              # 最常用的登录方法

Step 13: mysql 5数据库应用及操作初体验

  1. 输入sql相关指令,观察实验效果:
    1. mysql> show  databases; 
    2. mysql> create  database  student;
    3. mysql> show  databases;
    4. mysql> use  student;
    5. mysql> create  table  scores(stu_no  int, stu_name varchar(32));
    6. mysql> select  *  from  scores;
    7. mysql> insert  into  scores  values(20230001, '郭靖');
    8. mysql> insert  into  scores  values(20230002, '黄蓉');
    9. mysql> select  *  from  scores;
    10. mysql> quit;
  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值