mysql (分支 mariadb) 因为mysql即将收费mariadb 跟mysql一样只是不收收钱
1.安装mariadb
三种方法
-yum
-源码编译安装
-下载rpm安装
2.预备: 首先手动创建 mariadb.repo仓库文件
touch /etc/yum.repos.d/mariadb.repo
3.在文件中写入 vi /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
4.使用阿里云的yum下载 mariadb
yum install mariadb-server mariadb -y
5.安装完成后,启动mariadb服务端
systemctl start/stop/restart/status mariadb 自行挑选 四种模式
systemctl enable mariadb 开机启动mariadb
6.mysql初始化
mysql_secure_installation 这条命令可以初始化mysql,删除匿名用户,设置root密码等等....
7.设置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结构的 #修改mysql的密码 set password = PASSWORD('redhat'); #创建mysql的普通用户,默认权限非常低 create user yining@'%' identified by 'yiningzhenshuai'; #查询mysql数据库中的用户信息 use mysql; select host,user,password from user;
8.创建普通用户
#创建mysql的普通用户,默认权限非常低 create user yining@'%' identified by 'yiningzhenshuai';
9.给用户添加权限命令
grant all privileges on *.* to 账户@主机名 对所有库和所有表授权所有权限 grant all privileges on *.* to yining@'%'; 给yining用户授予所有权限 flush privileges; 刷新授权表
10. 授予远程登录的权限命令
grant all privileges on *.* to yining@'%'; 给yining用户授予所有权限 grant all privileges on *.* to root@'%' identified by 'redhat'; #给与root权限授予远程登录的命令 此时可以在windows登录linux的数据库 mysql -uyining -p -h 服务器的地址 连接服务器的mysql
11.mysql的数据备份与恢复
1.mysqldump -u root -p --all-databases > /data/AllMysql.dump 导出当前数据库的所有db,到一个文件中 2.登录mysql 导入数据 mysql -u root -p > source /data/AllMysql.dump 3.通过命令导入数据 mysql -uroot -p < /data/AllMysql.dump #在登录时候,导入数据文件,一样可以写入数据
12.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 statusG; 6.查看两条参数 ,确保主从正常 Slave_IO_Running: Yes Slave_SQL_Running: Yes