搭建单节点服务器-安装mysql

185 阅读2分钟
#1. 存储服务器安装Mysql
    (1)    下载Mysql安装包:
        wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
    (2)    解压Mysql安装包:
        tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /home/zhangsan/data/install/
        mv mysql-5.7.30-linux-glibc2.12-x86_64/ mysql-5.7.30
    (3)    初始化Mysql:
        /home/zhangsan/data/install/mysql-5.7.30/bin/mysqld --initialize --user=zhangsan --basedir=/home/zhangsan/data/install/mysql-5.7.30/ --datadir=/home/zhangsan/data/install/mysql-5.7.30/data/

        #控制台会打印默认密码
    (4)    配置Mysql:
        1> 拷贝my.cnf配置文件到/home/zyyt/data/install/mysql-5.7.30目录下
        2> 修改主从配置my.cnf(参考mysql-xx(主/从)配置文件)
    (5)    启动Mysql服务:
        /home/zhangsan/data/install/mysql-5.7.30/bin/mysqld_safe --defaults-file=/home/zhangsan/data/install/mysql-5.7.30/my.cnf --user=zhangsan &

        /home/zhangsan/data/install/mysql-5.7.30/bin/mysql -uroot -p
        set password=password("root");
        flush privileges;

        #重启mysql
        netstat -antp | grep mysqld
        kill $PID
        /home/zhangsan/data/install/mysql-5.7.30/bin/mysqld_safe --defaults-file=/home/zhangsan/data/install/mysql-5.7.30/my.cnf --user=zhangsan &
    (6)    验证Mysql是否成功启动:
        /home/zhangsan/data/install/mysql-5.7.30/bin/mysql -uroot -p
        #开启远程授权,用工具链接mysql
        grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;


    (7)    配置Mysql主从:
         # master创建同步账号,查看bin-log配置
             CREATE USER 'syncuser'@'%' IDENTIFIED BY 'syncuser@1334';
             GRANT REPLICATION SLAVE ON *.* TO 'syncuser'@'%';
             flush privileges;
             show master status


         # slave
             change master to master_host='192.168.56.101', master_user='syncuser',
              master_password='syncuser@1334',
              master_port=3306,
              master_log_file='mysql-bin.000002',
              master_log_pos=755,
              master_connect_retry=30
              ;

              start slave;
              show slave status\G

         # 测试主从复制
           1> master上创建oauth-center数据库
                create database `oauth-center`;

           2> 在slave上查看是否同步
                show databases;

#2. 在master上导入业务相关数据库和表

Mysql配置文件 my.cnf

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-name-resolve
# #设置3306端口
port = 3306 
# # 设置mysql的安装目录
basedir=/home/zhangsan/data/install/mysql-5.7.30
# # 设置mysql数据库的数据的存放目录
datadir=/home/zhangsan/data/install/mysql-5.7.30/data
# # 允许最大连接数
max_connections=200
# # 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# # 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# max_allowed_packet=16M

#主数据库端ID号
server_id = 1
##开启二进制日志                  
log-bin = mysql-bin
##需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可                  
binlog-do-db = user-database
binlog-do-db = xxxx-database
##将从服务器从主服务器收到的更新记入到从服务器自己的二进制日志文件中                 
log-slave-updates
##控制binlog的写入频率。每执行多少次事务写入一次(这个参数性能消耗很大,但可减小MySQL崩溃造成的损失) 
sync_binlog = 1
##这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突
auto_increment_offset = 1
##这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突
auto_increment_increment = 1
##二进制日志自动删除的天数,默认值为0,表示“没有自动删除”,启动时和二进制日志循环时可能删除  
expire_logs_days = 7                    
##将函数复制到slave  
log_bin_trust_function_creators = 1
# 重启后检查该项是否生效
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
log-error=/home/zhangsan/data/install/mysql-5.7.30/mariadb.log
pid-file=/home/zhangsan/data/install/mysql-5.7.30/mariadb.pid