本文已参与「新人创作礼」活动,一起开启掘金创作之路。
mysql> grant all privileges on *.* to 'liaosp'@'%' identified by 'liaosp123456' with grant option;
创建用户和添加用户权限
all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比
如:”liaosp”@”192.168.0.%”,表示liaosp这个用户只能在192.168.0IP段登录
identified by:指定用户的登录密码
with grant option:表示允许用户将自己的权限授权给其它用户
mysql 忘记root 密码了 www.php.cn/blog/detail…
如何设置外网访问:blog.csdn.net/cxin917/art…
如何开启 3306端口,navicat 可以连接: www.cnblogs.com/lemon-flm/p…
关闭centos 防火墙 www.cnblogs.com/moxiaoan/p/…
centos 防火墙管理 点击进入
导出结构:
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE -d btmox>./btmox.sql
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE -d mxhy>./mxhy.sql
远程:
mysqldump -h remote_IP_address -u username -p -P3306 --default-character-set=utf8 --set-gtid-purged=OFF database_name >/Users/kalacloud/Desktop/data-dump.sql
远程参考:
https://kalacloud.com/blog/how-to-import-and-export-databases-excel-csv-in-mysql-or-mariadb-from-terminal/
导出结构和数据:
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE btmox>./btmox-data.sql
mysqldump -hlocalhost -uroot -P3306 -p6NbAFQBE -d mxhy>./mxhy-data.sql
导入sql文件:
mysql -uroot -P3306 -p6NbAFQBE btmox< ./btmox-data.sql
mysql -uroot -P3306 -p6NbAFQBE mxhy< ./mxhy-data.sql
导入sql 8+ docker版本,好像这样无效,可以参考以下;
docker cp mydata_mytable.sql mysql:/mydata_mytable.sql
进入容器
mysql> source mydata_mytable.sql
授权:
grant all privileges on *.* to 'root'@'%' identified by '6NbAFQBE';
grant all privileges on *.* to 'dbmanager'@'%' identified by '6NbAFQBE';
FLUSH PRIVILEGES;
mysqldump 导出排除部分表
mysqldump -uroot -p dbname --ignore-table=dbname.tbname --ignore-table=dbname.tbname2> D:\xxxx\xx.sql
数据库批量备份
declare -A arr
# 要备份的数据表,value值可设定备份参数
arr["hello"]="--ignore-table=fix_station.telescope_entries"
#保存数据库备份的目录 宿主机
path=/home/mysql/backups/
#容器名称
container_name=dnmp-do_mysql_1
#设置数据库信息
host=localhost
username=root
password=123456
#备份的天数
days=15
#定义文件
day=`date +%Y%m%d`
nowpath=$path$day
#删除今天备份的文件
rm -rf $nowpath
#创建今天的备份文件目录
if [ ! -d "${nowpath}" ] ;then
mkdir -p ${nowpath};
fi ;
#执行数据库备份
for key in ${!arr[*]};do
docker exec $container_name mysqldump -u$username -p$password ${arr[$key]} $key > $nowpath/$key.sql
done
#删除旧的备份数据
old=`date -d "$days days ago" +%Y%m%d`
rm -rf $path$old