安装软件的几种方式 :
yum安装
源码编译安装
下载rpm安装
yum和源码编译安装的区别 ?
1 , 路径区别,
yum安装的软件路径是自己定义的
源码安装的软件: ./configure --preifx=软件安装的绝对路径
2, yum残酷的软件版本可能比较低,而源码编译安装,版本可控
3, 编译安装的软件,支持第三方功能呢个扩展, ./configure 这里可以加上很多参数,定制功能
yum安装mariadb
1, 配置官方的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
2 , 通过yum安装mariadb软件,安装mariadb服务端和客户端
yum install MariaDB-server MariaDB-client -y
注意 : 如果下载速度太慢,请删除 mariadb.repo,只是为了使用阿里云的yum源中的mariadb
rm -rf /etc/yum.repos.d/Mariadb.repo
然后清空yum 缓存
yum clean all
使用阿里云的yum下载 mariadb (阿里云的mariadb包名是小写的,而官方的是大写的!!!!注意的)
yum install mariadb-server mariadb -y
3, 安装完成后,启动mariadb服务端 : systemctl start mariadb
mariadb数据库的相关命令是: systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mariadb #重启MariaDB systemctl enable mariadb #设置开机启动
4 , 初始化
mysql_secure_installation
这条命令可以初始化mysql,删除匿名用户,设置root密码等等...
5 , 设置mysql的中文编码支持,修改/etc/my.cnf
(1), vi /etc/my.cnf
在[mysqld]中添加参数,使得mariadb服务端支持中文
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
(2) , 重启mariadb服务,读取my.cnf新配置
systemctl restart mariadb
(3) , 登录数据库,查看字符编码
mysql -uroot -p
输入 \s 查看编码
mysql的常用命令 :
desc 查看表结构
create database 数据库名 创建数据库
create table 表名 创建表
show create database 库名 查看如何创建db的
show create table 表名 查看如何创建table结构的
set password = PASSWORD("密码"); 修改mysql密码
create user liang@"%" identified by "密码"; 创建mysql的普通用户,默认权限很低
查询数据库中的用户信息
use mysql
select host,user,password from user
给用户添加权限命令 :
grant 权限 on 数据库.表名 to 账户@主机名 对特定数据库中的特定表授权 grant 权限 on 数据库.* to 账户@主机名 对特定数据库中的所有表给与授权 grant 权限1,权限2,权限3 on *.* to 账户@主机名 对所有库中的所有表给与多个授权 grant all privileges on *.* to 账户@主机名 对所有库和所有表授权所有权限
刷新授权表 :
flush privileges
给root权限授予远程登录的命名
grant all privileges on *.* to root@'%' identified by '密码';
连接服务器的mysql ;
mysql -uliang -p -h 服务器的地址
数据库的备份与恢复 ;
1, 导出当前数据库的所有db,到一个文件中
mysqldump -u root -p --all-databases > /data/AllMysql.dump
2, 登录mariadb数据库,删除一个db
mysql -uroot -p
drop database s15;
3, 数据恢复 :
mysql -uroot -p < /data/AllMysql.dump
mysql 主从复制
mysql的主从复制方案是其自带的功能,是通过binlog日志复制到需要同步的从服务器上
在生产环境中,MySQL主从复制都是异步的复制方式,不是严格的实时复制,但给用户的体验都是实时的,MySQL主从复制集群功能使得MySQL数据库支持大规模高并发读写成为可能,且有效的保护了服务器宕机的数据备份
mysql的主从复制架构,需要准备两台机器,并且可以通信,安装好2个mysql,保持版本一致性
mysql -v 查看数据库版本
主库配置:
1.准备主库的配置文件 /etc/my.cnf
写入开启主库的参数
[mysqld]
server-id=1 #标注 主库的身份id
log-bin=s15mysql-bin #那个binlog的文件名
2.重启mairadb,读取配置文件
systemctl restart mariadb
3.查看主库的状态
mysql -uroot -p
show master status; #这个命令可以查看 日志文件的名字,以及数据起始点
4.创建用于主从数据同步的账户
create user 'yuanhao'@'%' identified by 'yuanhaobuxitou';
5.授予主从同步账号的,复制数据的权限
grant replication slave on *.* to 'yuanhao'@'%';
6.进行数据库的锁表,防止数据写入
flush table with read lock;
7.将数据导出
mysqldump -u root -p --all-databases > /opt/zhucong.dump
8.然后将主库的数据,发送给从库
scp /opt/zhucong.dump root@从库:/opt/
9.此时去从库的mysql上,登录,导入主库的数据,保持数据一致性
mysql -uroot -p
source /opt/zhucong.dump
从库的配置
1.写入my.cnf,从库的身份信息
vi /etc/my.cnf
[mysqld]
server-id=10
2.检查一下主库和从库的 参数信息
show variables like 'server_id';
show variables like 'log_bin';
3.通过一条命令,开启主从同步
change master to master_host='192.168.13.78',
master_user='yuanhao',
master_password='yuanhaobuxitou',
master_log_file='s15mysql-bin.000001',
master_log_pos=571;
4.开启从库的slave同步
start slave;
5.查看主从同步的状态
show slave status\G;
6.查看两条参数 ,确保主从正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes