linux 安装mysql

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

            
从库配置
原文地址:https://www.cnblogs.com/RootEvils/p/10197508.html