赞
踩
1、下载安装包 进入mysql官方下载对应版本数据库,本教程使用的是mysql5.7.36版本 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 可直接下载到本地,再上传至centos7系统中,或直接在centos7中直接下载。 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 2、创建MySQL用户 useradd mysql -r -M -s /sbin/nologin 3、安装mysql依赖包 yum install -y ncurses-devel libaio-devel gcc gcc-c++ numactl libaio glibc cmake autoconf 4、解压mysql软件包 tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ #注:-C 直接指定解压到目标路径 5、建立目录软连接 ln -s /usr/local/mysql-5.7.36-linux-glibc2.12-x86_64/ /usr/local/mysql ll /usr/local/mysql 6、修改目录所属用户权限 chown -R mysql.mysql /usr/local/mysql/ chown -R mysql.mysql /usr/local/mysql-5.7.36-linux-glibc2.12-x86_64/ 7、创建MySQL数据库,保存数据的路径,并创建日志 mkdir /mysql_data #注:本文件夹创建到根目录下 chown -R mysql.mysql /mysql_data #注:赋予权限 touch /var/log/mysqld.log chown -R mysql.mysql /var/log/mysqld.log 8、进行初始化操作 cd /usr/local/mysql/ bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql_data 9、编写配置文件 vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/mysql_data port=3306 socket=/usr/local/mysql/mysql.sock character-set-server=utf8mb4 log-error=/var/log/mysqld.log pid-file=/tmp/mysqld.pid [mysql] socket=/usr/local/mysql/mysql.sock [client] socket=/usr/local/mysql/mysql.sock 10、生成启动脚本,并添加到系统变量 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld vim /etc/init.d/mysqld basedir=/usr/local/mysql # mysql路径 datadir=/mysql_data # 数据存放路径 添加变量 vim /etc/profile 最底部添加 export PATH=$PATH:/usr/local/mysql/bin 执行编译命令 source /etc/profile 11、启动mysql服务,并修改默认密码 /etc/init.d/mysqld start # 登录进mysql mysql -uroot -pOSlVgIvy1s-v # -p后面为密码,根据自己安装完成之后提示的填写 # 修改密码 set password for root@localhost = password('新密码'); # 退出mysql exit;或quit; 12、将MySQL加入systemctl管理 vim /usr/lib/systemd/system/mysql.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 # 重载 systemctl daemon-reload # 开启mysql服务 systemctl start mysql # 查看状态 systemctl status mysql
# update 更新方法
mysql > update mysql.user set host = '%' where user = 'root';
# 刷新
mysql> flush privileges;
Mysqldump常用命令: mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql 常用选项: -u:用户名 -p:密码 -P:端口号,不写默认3306 --all-databases,-A:备份所有数据库 --databases,-B:用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为表名。使用该选项,mysqldump把每个名字当作为数据库名 -d:只导出数据库的表结构 -t:只导出数据库的数据 --quick.-q:快速导出 --xml,-X:导出为xml文件 具体使用案例: 1.备份全部数据库的数据和结构(-A) mysqldump -uroot -p123456 -A > 11.sql 2.备份全部数据库的结构(-d) mysqldump -uroot -p123456 -A -d > 11.sql 3.备份全部数据库的数据(-t) mysqldump -uroot -p123456 -A -t > 11.sql 4.备份单个数据库的数据和结构(javacms数据库名) mysqldump -uroot -p123456 javacms > javacms.sql 5.备份单个数据库结构(javacms数据库名,-d) mysqldump -uroot -p123456 -d javacms > javacms.sql 6.备份单个数据库数据(javacms数据库名,-t) mysqdump -uroot -p123456 -t javacms > javacms.sql 7.备份多个表的结构和数据(table1,table2表名) mysqldump -uroot -p123456 javacms table1 table2 > javacms.sql 8.一次备份多个数据库 mysqldump -uroot -p123456 --databases db1 db2 > 111.sql
1.系统命令行
mysqladmin -uroot -p123456 create db_name
mysql -uroot -p123456 db_name < d:\bak\11.sql
注:在导入备份数据库前,db_name如果没有,是需要创建的,而且与backup11.sql中数据库名是一样的才可以导入
2.soure方法
user db
soutce e:\bak\111.sql
注:
1. 还原单个数据库、单个数据库的多表需要指定数据库,而还原多个数据库时不用指定数据库。
2. 区别:备份用的命令是mysqldump, 还原用的是mysql。
# 登陆进mysql,执行以下语句
mysql> grant replication slave on *.* to 'backup'@'%' identified by '766716mm..';
# 执行刷新命令
mysql> flush privileges;
# 在集群中,server_id必须唯一 [root@mysql-master /]# vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/mysql_data port=3306 socket=/usr/local/mysql/mysql.sock character-set-server=utf8mb4 log-error=/var/log/mysqld.log pid-file=/tmp/mysqld.pid server-id=90 log-bin=/mysql_data/log-bin/binlog [mysql] socket=/usr/local/mysql/mysql.sock [client] socket=/usr/local/mysql/mysql.sock [root@mysql-master /]# mkdir /mysql_data/log-bin [root@mysql-master mysql_data]# chown mysql.mysql log-bin # 重启mysql服务 [root@mysql-master /]# systemctl restart mysql
1、查看主节点binlong日志的状态 mysql> show master status; +---------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---------------+----------+--------------+------------------+-------------------+ | binlog.000003 | 154 | | | | +---------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) 2、在从节点配置主从 # 登陆进mysql服务,进行执行后面命令 mysql -uroot -p766716mm change master to master_host='192.168.21.150', master_port=3306, master_user='backup', master_password='766716mm..', master_log_file='binlog.000001', master_log_pos=4585; 3、开启主从复制(从节点执行) mysql> start slave; 4、查看状态(从节点执行) mysql> show slave status \G *************************** 1. row *************************** Slave_IO_Running: Yes Slave_SQL_Running: Yes
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。