centos mySql 安装

7 篇文章 0 订阅
1、下载对应版本:https://dev.mysql.com/downloads/repo/yum/
    
   wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2、加载rpm

   rpm -ivh mysql*.rpm

   或使用

   yum localinstall mysq*.rpm

  或使用(在rpm所在文件夹或者指定地址)
   yum localinstall mysql80-community-release-el7-1.noarch.rpm
3、安装
   yum install mysql-server
    
   查看安装位置
   # whereis mysql
   mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

   usr/bin 下是mysql 的启动文件,mysqladmin、mysql 等文件位置
   在linux中链接mysql可以进入到bin目录下:./mysql  链接
4、查看
   yum repolist all | grep mysql

   查看是否启动
   systemctl status mysqld.service
   修改配置
   vim /etc/my.cnf.d/mysql-server.cnf

   [mysqld]
   #忽略大小写
   lower_case_table_names=1
   #group by 问题 
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

    #退出编辑并保存
   :wq  
    # 初始化配置
    mysqld --initialize --console
    启动
    如果失败查看 日志错误原因
    cat /var/log/mysql/mysqld.log
    # 我遇到的是:The innodb_system data file 'ibdata1' must be writable
    # [ERROR] [MY-010183] [Server] Failed to create file(file: '/var/lib/mysql/auto.cnf', errno 13)
    # 修改 ibdata1 的权限问题,
    # 找到所在位置
    find / -name ibdata1  
    # 赋权
    chmod -R 777 *******
    # 加载
    mysqld --initialize --console
    重启即可
5、启动/暂停
  启动:systemctl start mysqld.service
  暂停:systemctl stop mysqld.service
6、其他相关操作(系统不一样可能某些命令会失效,多试一下相关命令,一定要检查是否输入正确)
    进入mysql
   mysql -u root -p
   密码在 /var/log/mysql/mysqld.log 中
   进入mysql先修改密码,否则其他操作都会拒绝
   alter user 'root'@'localhost' identified by  '123';
   // 创建远程连接用户 第一个root是用户名  第二个root是密码
   GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
   或者
   grant all privileges on *.* to 'sysmgr'@'localhost';
   以上授权命令一些版本会报错
   可以用:
   grant all privileges on *.* to 'root'@'%';
   // 切换表
   use mysql
   // 查看数据
   select user,host from user;
   // error   Access denied for user 'yuning'@'127.0.0.1' (using password: YES)
   // 修改localhost为%,%所有都可以链接,localhost只能本机链接
   update user set host="%" where user="root";
   // 设置密码
   mysqladmin -u root password "123456!"
   // 启动linux环境,密码输入进入myslq
   myslq -u root -p 
   // 刷新命令
   flush privileges;

   Access denied for user 'yuning'@'127.0.0.1' (using password: YES)
   确认是否开启远程链接
   mysql表中的localhost是否修改为%

数据备份:

编写脚本文件(.sh文件)

#!/bin/bash
#数据库IP
#dbserver='192.168.26.1'
#数据库用户名
#dbuser='root'
#数据密码
#dbpasswd='root'
#数据库,如有多个库用空格分开
dbname='edu_app'
#备份时间
backtime=`date +%Y%m%d`
#备份输出日志路径
logpath='/opt/mysqlback/'
echo "################## ${backtime} #############################" 
echo "开始备份" 
#日志记录头部
echo ""
echo "-------------------------------------------------"
echo "备份时间为${backtime},备份数据库表 ${dbname} 开始"
#正式备份数据库
for table in $dbname; do
source=`mysqldump  --default-character-set=utf8 ${table} > ${logpath}/${backtime}.sql`
#备份成功以下操作
if [ "$?" == 0 ];then
cd $logpath
#为节约硬盘空间,将数据库压缩
tar zcf ${table}'-'${backtime}.tar.gz ${backtime}.sql > /dev/null
#删除原始文件,只留压缩后文件
rm -f ${logpath}/${backtime}.sql
#删除七天前备份,也就是只保存7天内的备份
find $logpath -name "*.tar.gz" -type f -mtime +30 -exec rm -rf {} \; > /dev/null 2>&1
echo "数据库表 ${dbname} 备份成功!!"
else
#备份失败则进行以下操作
echo "数据库表 ${dbname} 备份失败!!"
fi
done
echo "完成备份"
echo "################## ${backtime} #############################"

完成之后可测试:

./mysql.sh

看到输出正常即可

# 查看crond 状态,如果未启动启动运行

systemctl status crond   #查看状态

systemctl start crond    # 运行

systemctl restart crond #重启

systemctl stop crond #停止运行

运行命令:

crontab -e

写入:

* * * * * /opt/mysql/mysql.sh

: wq   #保存退出

查看运行命令:

tail -f /var/log/cron

如果运行之后没有对应的结果:

# crontab -e

写入:

* * * * *  cd  /opt/mysql  sh ./mysql.sh

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值