Linux-Mysql安装文档

安装数据库(该文档存在问题,需要更新处理,请稍等)

下载官方数据库

个人收集

wget http://cunqi0105-1300757323.cos.ap-shanghai.myqcloud.com/install-pkg/mysql-5.7.32-el7-x86_64.tar.gz

官方下载

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

image-20201113132701139

image-20201113134143700

image-20200614225038601

解压并移动

tar zxvf mysql-5.7.32-el7-x86_64.tar.gz 

mv mysql-5.7.32-el7-x86_64 /usr/local/mysql

创建用户组和用户并修改权限

groupadd mysql && useradd -r -g mysql mysql
   #创建数据目录并赋予权限
mkdir -p /data/mysql && chown mysql:mysql -R /data/mysql

配置my.cnf

cat <<EOF> /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
max_connections=2048
EOF

初始化数据库

cd /usr/local/mysql/bin/
   #初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
   #建立软连接
ln -s /usr/local/mysql/bin/mysql*   /usr/bin
   #查看密码
cat /data/mysql/mysql.err

image-20200614223912740

启动mysql,并更改root 密码

cat <<EOF> /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload

systemctl start mysql

systemctl status mysql
   #登录
mysql -u root -p
   #更改密码
SET PASSWORD = PASSWORD('123456');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;
   #解决无法使用远程连接数据库
use mysql;

update user set host = '%' where user = 'root';

FLUSH PRIVILEGES;

数据库自动备份脚本

备份脚本

###################################################
#!/bin/bash
DUMP=/usr/local/mysql/bin/mysqldump    #mysqldump备份文件执行路径
OUT_DIR=/home/data/    #备份存放路径
LINUX_USER=root            #系统用户名
#DB_NAME='imployee_salary','weicunqi'     #要备份的数据库名字
DB_USER=root               #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错
DB_PASS=123456       #数据库密码      
DAYS=7                     #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
cd $OUT_DIR                #进入备份存放目录
DATE=`date +%Y_%m_%d`      #获取当前系统时间
OUT_SQL="$DATE.sql"        #备份数据库的文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
$DUMP -u$DB_USER -p$DB_PASS --all-databases --skip-lock-tables> $OUT_SQL #备份
tar -czf $TAR_SQL ./$OUT_SQL  #压缩为.tar.gz格式
rm $OUT_SQL   #删除.sql格式的备份文件
chown  $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL  #更改备份数据库文件的所有者
find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \;  #删除7天前的备份文件

上传到ftp服务器脚本

###################################################
#!/bin/bash
FTP_HOSTS=192.168.50.180 #FTP服务器地址
FTP_USER=txy #FTP服务器用户名
FTP_PASSWD=123456 #FTP服务器用户密码
FTP_CATALOG=TEST #FTP服务器的目录
LOCAL_CATALOG=/data #本地文件目录
FILE_RANGE=* #本地文件目录中的文件范围,*代表文件内所有

ftp -v -n $FTP_HOSTS <<EOF
user $FTP_USER $FTP_PASSWD
binary
cd $FTP_CATALOG
lcd $LOCAL_CATALOG
prompt
mput $FILE_RANGE
close
bye
EOF

常见问题

1. 在初始化数据库时出现该错误,是因为缺少numact环境包导致的

image-20201113143256096

yum -y install numactl

 

posted @ 2020-07-22 15:37  孤独的小人物  阅读(240)  评论(0编辑  收藏  举报