wget网络下载rpm安装包、离线安装mysql 5.7数据库服务器(速度快,较复杂、成功率一般)
Step 1:软件冲突的问题
centos 7.9自带的数据库管理软件mariadb,会跟mysql冲突,按如下2个步骤先进行删除
- 运行rpm -qa | grep mariadb # 首先查看mariadb相关安装包是否已经安装
- 运行rpm -e mariadb-libs --nodeps # 需要先卸载mariadb相关的软件包(--nodeps表示不检查依赖关系)
Step 2:mysql安装包的获取
- 新建文件夹/opt/mysql,并cd切换进去(/opt/mysql是mysql安装包存放的位置)
- mysql安装包的获取(2种方法)
- 使用“wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar”在线下载mysql安装包
- 使用xftp工具软件将Windows物理主机中已经下载好的mysql安装包文件上传到linux虚拟机或linux云服务器中
Step 3:mysql安装包的解包解压缩
- 运行tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar # 解压缩后会出现10个rpm安装包文件
Step 4:安装mysql相关的四个软件包
- 按如下顺序依次安装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安装路径
- 运行rpm -qa | grep mysql # 查看是否已经正确安装上述4个软件包
- 运行cat /etc/my.cnf # 可以查看mysql的默认安装位置:/var/lib/mysql
- 运行ll /var/lib/mysql # 查看mysql服务器安装路径下有无内容
Step 6:修改配置文件,永久设置myql服务器中数据库支持中文字符集
- vim /etc/my.cnf
- 添加方法如下:
- 在[client]下方添加一行:default-character-set=utf8
- 在[mysqld]下方添加下面的2行:
- collation_server=utf8_general_ci
- character-set_server=utf8
Step 7:启动mysql数据库服务器
- 运行systemctl start mysqld.service # 启动mysql服务器
Step 8:查看mysqld服务的pid、user、工作状态、监听端口号
- 运行ps -ef | grep mysqld # 查看系统已经启动的mysql数据库服务器进程
- 运行systemctl status mysqld.service # 查看mysql服务器进程运行状态
- 运行netstat -antp | grep “mysqld” # 查看Linux服务器端口,发现mysqld正在监听3306端口
Step 9:获取mysql服务器的root账户的初始密码、登录mysql服务器
- 获取数据库服务器的root账户的初始密码:mysql会自动给root用户设置随机的12个字符的密码,运行grep “password” /var/log/mysqld.log 在行的结尾处看到当前root用户的初始密码(复制该密码)
- 使用初始密码登陆mysql数据库服务器:
- 方法1:运行mysql -uroot -p初始密码 # 回车后即可登录
- 方法2:运行mysql -uroot -p # 回车后根据提示输入随机密码,此时可以成功登录mysql服务器
- 此时mysql数据库服务器的环境搭建流程结束
Step 10:立刻修改mysql服务器的root账户的密码
- 设置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
- 运行命令: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”
- 执行命令:flush privileges; # 使密码设置立刻生效
Step 11:授权root用户可以在任何地点登录mysql 5数据库服务器,并可以访问所有数据库中的数据表
- 执行命令:grant all privileges on *.* to 'root'@'%' identified by 'kwxy1234' with grant option;
# *.* 表示 数据库名.表名,用户可以访问所有数据库中的所有数据表
# % 表示对登录mysql服务器的IP地址没有限制
- 执行命令:flush privileges;
Step 12:退出当前mysql 5数据库服务器,使用新密码重新登录
- 执行命令quit 或exit或ctrl+d可以退出mysql,然后使用新密码重新登录mysql服务器
- 登录方法1:mysql -uroot -pkwxy1234
- 登录方法2:mysql -u root -pkwxy1234
- 登录方法3:mysql -u root -p
- 登录方法4:mysql -uroot -p # 最常用的登录方法
Step 13: mysql 5数据库应用及操作初体验
- 输入sql相关指令,观察实验效果:
- mysql> show databases;
- mysql> create database student;
- mysql> show databases;
- mysql> use student;
- mysql> create table scores(stu_no int, stu_name varchar(32));
- mysql> select * from scores;
- mysql> insert into scores values(20230001, '郭靖');
- mysql> insert into scores values(20230002, '黄蓉');
- mysql> select * from scores;
- mysql> quit;