rpm 安装数据库
-
一、 安装前 检查数据库有没有默认安装——mariadb(有卸载)
-
①rpm查看命令:
-
CentOS6——rpm -qa|grep mysql
-
CentOS7——rpm -qa|grep mariadb
-
-
②rpm卸载命令:
- rpm -e --nodeps 软件名称
-
-
二、安装对应依赖
-
①先查看有没有依赖
- rpm -qa|grep libaio
-
②在安装依赖
- yum install libaio -y
-
-
三、给与对应目录权限
-
原因: mysql安装过程中,会通过mysql用户在/tmp目录下
-
所以 请给/tmp较大的权限
-
指令:chmod -R 777 /tmp —— 777表示所有权限
-
-
四、上传mysql文件安装
-
①创建software(软件)文件夹——在user/local目录下
- mkdir software
-
②将对应的文件上传上去
-
正式安装
-
去到上传好的文件目录下按顺序执行下面安装
-
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
-
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
-
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
-
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
-
如果不能最后一步出现依赖安装失败可以 执行下面指令
- sudo rpm -ivh --nodeps mysql-community-server-5.7.16-1.el7.x86_64.rpm
-
-
-
为什么要前面要加 sudo 提高用户权限——就可以避免因为权限不够产生缺少依赖了
-
查看是否安装成功
- 指令:mysqladmin --version
-
-
五、安装完成后需要配置数据库
-
① 初始化数据库
- 指令:mysqld --initialize --user=mysql
-
② 初始化完成后——会自动生成root用户的临时密码
-
③启动mysql数据库——一定要先启动不然无法登入修改
-
启动:systemctl start mysqld
-
状态: systemctl status mysqld
-
关闭:systemctl stop mysqld
-
-
④重新设置密码
-
⑤查看mysql是否自启动(默认自启动)
-
指令:systemctl list-unit-files|grep mysqld.service
- 不是enabled可以运行如下命令设置自启动
- systemctl enable mysqld.sercice
- 不是enabled可以运行如下命令设置自启动
-
-
-
六、设置字符集
-
1.修改配置文件(步骤一)
-
进入配置文件中:vi /etc/my.cnf
-
在最后一行添加:character_set_server=utf8
-
ESC ——:wq
-
-
-
2.重新启动mysql——修改完成配置文件需要重启才能生效
-
重启指令: systemctl restart mysqld ——重启可能出现重启不成功可以多重启几次
-
查看是否重启成功——查看状态: systemctl status mysqld
-
-
3.验证是否设置成功
-
登入——创建一个数据库
- create database mydb;
-
创建表和插入数据
- 创建表——create table mytbl(id int(10),name varchar(20));
- 注意:这里创建表的时候一定要给定长度不然数据插入不进去
- 创建表——create table mytbl(id int(10),name varchar(20));
-
插入数据 ——insert into mytbl values(1,‘张三’);
-
查看——数据select * from mytbl;
-
能显示出是中文表示修改成功
-
-
-
七、远程连接数据库
-
关闭防火墙
-
查看指令:service iptables status
-
永久关闭指令:chkconfig iptables on——会重启
-
-
查看操作数据库权限
-
原因:首先要知道数据安装完成后
- 没有配置远程连接的权限是无法进行远程连接的
-
①查看权限
- 指令:select Host,user,authentication_string from user;
- 这个是未设置权限前的
- 这个是未设置权限前的
- 指令:select Host,user,authentication_string from user;
-
②简单设置用户权限
- 设置root用户所有权限——grant all privileges on . to root@’%’ identified by ‘123’;
- 设置后
- 设置后
- 设置root用户所有权限——grant all privileges on . to root@’%’ identified by ‘123’;
-
③结论:可以看见这里不再是本地操作数据库了
-
Host——变成%——这里表示远程连接的含义
-
user——表示连接的用户
-
authentication_string ——验证字符串——是数据库加密的成的——用于验证密码
-
可以看到第一和最后一个的验证字符串——完全匹配表示两个密码一致
-
-
④测试连接
- 通过navicat测试是否能远程访问
- 通过navicat测试是否能远程访问
-
-
-
八、数据库重置密码
-
一般不常用的数据库忘记密码是常有的事可以通过下面操作解决
-
① 修改数据库配置
-
一般情况都是放在这个位置
-
指令:vi /etc/my.cnf——打开数据库配置文件
-
打开后在最后一行 加入 skip-grant-tables
-
使我们密码免登录
-
-
-
②重启mysql
- 改完数据库配置文件需要通过重启软件重新读取配置完成修改生效
- 指令:systemctl restart mysqld——使修改的配置生效
- 改完数据库配置文件需要通过重启软件重新读取配置完成修改生效
-
③ 进入 msql数据中修改密码
-
登入指令:mysql -uroot -p
-
进入后—— show databases; 展示所有数据库
-
可以看到msyql这个原生数据库
- 用户登入验证的信息就在这个数据库中
-
-
-
④查看用户信息
-
a、跟图形界面一样想查看数据库就先要使用数据库
- 使用msyql数据库 :use mysql
-
b、指令 :select Host,user,authentication_string from user;——查看数据库中的user表
-
就可以看到有哪些用户可以操作数据库了
-
-
⑤修改数据库用户密码
-
(1)old指令: UPDATE user SET password=PASSWORD(“新密码”) WHERE user=‘你的用户名’;
- 可能会出错——这个指令时老版本的 如果出错了可以有新版本的指令
-
(2)young指令: update mysql.user set authentication_string=password(‘root’) where user=‘root’ ;
-
(3)配置完成后要刷新特权信息才能生效
- 指令: flush privileges;
-
-
⑥修改完成后需要退出数据库
- 将之前该的配置文件还原
- vi /etc/my.cnf——删除最后一加入行设置的信息
- 将之前该的配置文件还原
-
⑦登入测试
-
重启mysql——systemctl restart mysqld
-
重新登入——mysql -uroot -p
-
通过原来的设置好的密码登入
-
登入进去后——是无法操作数据的
-
他会给你一个提示——You must reset your password using ALTER USER statement before executing this statement
- 需要用户在执行该语句之前,必须使用ALTER USER语句重置密码
-
执行:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123’;
-
设置root用户 密码:123
-
从而实现了密码重置
-
-
-
-
● 需要用户在执行该语句之前,必须使用ALTER USER语句重置密码
● 执行:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123’;
● 设置root用户 密码:123
/localhost/)’ IDENTIFIED BY ‘123’;
- 设置root用户 密码:123
- 从而实现了密码重置
● 需要用户在执行该语句之前,必须使用ALTER USER语句重置密码
● 执行:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123’;
● 设置root用户 密码:123
● 从而实现了密码重置