有三种方式:yum源安装 -->自动解决依赖包问题,有阿里云yum源,有下载文件的官方
yum源
源码编译安装-->可以扩张功能,下载最新版本,指定路径安装
rpm 安装-->不推荐
安装 MYSQL(mariadb)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
方法1:yum安装mariadb
Red Hat Enterprise Linux/CentOS 7.0 发行版已将默认的数据库从 MySQL 切换到 MariaDB
第一步:.配置mariadb的官方yum源,用于自动下载mariadb的rpm软件包,自动安装
- 注意 :阿里云提供的yum仓库.和epel源仓库,也有mariadb,但是可能版本较低,我们就得选用mariadb的官方yum源
第二步: 手动创建mariadb.repo仓库文件(重要)
touch /etc/yum.repos.d/mariadb.repo #创建
#写入内容
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
第三步: 通过yum安装mariadb软件,安装mariadb服务端和客户端(国外镜像源,慢)
yum install MariaDB-server MariaDB-client -y
如果中间出现中断,改为使用阿里云的yum源处理手段
#请删除 mariadb.repo Alli的会自动生成该文件
rm -rf /etc/yum.repos.d/Mariadb.repo
#然后清空yum 缓存
yum clean all
方法2:阿里云yum安装mariadb(阿里云的mariadb包名是小写的,而官方的是大写的!!!!注意的)
yum install mariadb-server mariadb -y
启动mariadb的服务端
systemctl start/stop/restart/status mariadb
systemctl enable mariadb 开机启动mariadb
初始化(启动服务端之后)
mysql_secure_installation
在确认 MariaDB 数据库软件程序安装完毕并成功启动后请不要立即使用。为了确保数据 库的安全性和正常运转,需要先对数据库程序进行初始化操作。这个初始化操作涉及下面 5 个 步骤。
➢ 设置 root 管理员在数据库中的密码值(注意,该密码并非 root 管理员在系统中的密 码,这里的密码值默认应该为空,可直接按回车键)。
➢ 设置 root 管理员在数据库中的专有密码。
➢ 随后删除匿名账户,并使用 root 管理员从远程登录数据库,以确保数据库上运行的业
务的安全性。
➢ 删除默认的测试数据库,取消测试数据库的一系列访问权限。
➢ 刷新授权列表,让初始化的设定立即生效。
设置mysql的中文编码支持,修改/etc/my.cnf
vi /etc/my.cnf
在[mysqld]中添加参数,使得mariadb服务端支持中文
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
然后登陆查看编码
1.重启mariadb服务,读取my.cnf新配置
systemctl restart mariadb
2.登录数据库,查看字符编码
mysql -uroot -p
3 .输入 \s 查看编码
mysql常用命令
desc查看表结构
create database 库名
create table 表名
show creare database 库名 查看如何创建库的
show creare table 库名 查看如何创建表的
#修改mysql的密码
set password = PASSWORD("rdhat");
#创建mysql的普通用户,默认权限非常低
create user emma@"%" identified by "emma123"; 创建用户
#查询mysql数据库中的用户信息
use mysql
select host,user,apssword from user;
给用户添加权限
grant 权限 on 数据库.表名 to 账户@主机名 对特定数据库中的特定表授权
grant 权限 on 数据库.* to 账户@主机名 对特定数据库中的所有表给与授权
grant 权限1,权限2,权限3 on *.* to 账户@主机名 对所有库中的所有表给与多个授权
grant all privileges on *.* to 账户@主机名 对所有库和所有表授权所有权限
show grants for [email protected]; 查看权限
MariaDB [(none)]> revoke all privileges on *.* from [email protected]; 移除权限
grant all privileges on *.* to 账户名@主机名(ip) #对所有库和所有表授予权限访问
flush privileges 刷新权限 必须的
授予远程登陆的权限
grant all privileges on *.* to emma@"%"; #普通用户
grant all privileges on *.* to root@'%' identified by 'redhat'; #给与root权限授予远程登录的命令
学习mysql的数据备份与恢复
1.mysqldump -u root -p --all-databases > /data/AllMysql.dump linux 命令 导出当前数据库的所有db,到一个文件中
2.登录mysql 导入数据(第一种方法)
mysql -u root -p
source /data/AllMysql.dump
3.通过命令导入数据(登陆的时候就导入)
mysql -uroot -p < /data/AllMysql.dump #在登录时候,导入数据文件,一样可以写入数据
mysql主从复制