记录_20190628

mysql修改root用户密码

1、进入mysql
=》mysql -uroot -p

2、修改密码(两种方式)

其一
1) 修改root的localhost本地访问密码
=》set password for root@localhost = 'root123';

其二
1) use mysql;
=》进入数据库

2) UPDATE user SET authentication_string= PASSWORD('root123') WHERE Host = '%' AND User = 'root';
=》修改root的远程主机访问密码
=》(备注:需要先选择数据库,否则会报错)

3、刷新权限
=》flush privileges;

修改密码遇到的问题

1)ERROR 1054 (42S22): Unknown column 'password' in 'field list'
=》password字段在5.6及其以上版本改成了authentication_string

2)linux上密码修改生效,登陆时要用新密码,而客户端连接工具用旧密码仍然可以登陆
=》mysql针对于root有两个主机,一个是localhost(本地主机),一个是%(远程主机)

mybatis动态SQL

1)mybatis里面的判断数组长度
=》list用size或size()
=》字符串数组用length,不能用length()

idea之gradle配置

Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getModuleIdentifier()
=》gradle版本导致的,如果你是使用的idea内置的gradle,那么你就从网上下个4.8版本的,然后指定本地gradle的安装目录即可;

启动mongodb

ps aux | grep mongo
kill -9 10363
=》找到mongod进程,并kill他

mongod --dbpath /data/db
=》在该数据目录(默认目录)启动mongd

nohup mongod --dbpath /data/db >> /opt/log/mongo.log 2>&1 &
=》让mongod在后台运行
=》必须按照这个格式来,后面的“2>&1 &”得加上,否则会出现一系列问题,如:进程启动了,但是mongo连接不上,一直在等待中
=》启动服务那招不行,mongod似乎没有服务

mongo
=》连接到服务器

mongodump是一个命令行工具。而不是使用mongo,输入mongodump。
mongodump是一个可执行文件mongo,你需要在OS shell中执行它,而不是在MongoDB shell中执行它:

mongorestore -h 127.0.0.1:27017 -d paintingstone_db /opt/mydata/mongodb/paintingstone_db
=》还原mongodb数据库,执行成功

mongorestore -h localhost:27017 -d paintingstone_db /opt/mydata/mongodb/paintingstone_db
=》未找到主机,不能用localhost

mongodb还原时会自动新建数据库

mongodump -h 127.0.0.1 -d paintingstone_db -o /opt/mydata

mongodump -h 127.0.0.1 -d paintingstone_db -o /opt/backup/mongodb/$(date +%Y%m%d_%H%M%S)

mongodb备份与mysql不同的是,mongodb备份文件为文件夹格式,而mysql为.sql格式

数据库常见异常

; bad SQL grammar []; nested exception is java.sql.SQLException: Operand should contain 1 column(s)
=》in子查询

sql打印时,Parameters就是代表哪些占位符的值

如果想授予root在任意主机访问数据库的权限 grant all privileges on . to 'root'@'%' identified by '123456' with grant option;
=》这个操作执行完之后会出现一句提示:Ignoring query to other database,但是密码已经修改成功,修改的是远程主机访问密码,本地访问密码没有修改

mysql

mysql的安装目录为:/var/lib/mysql

定时备份mysql数据库

新建mysql_data_bak.sh文件,写入以下代码:
mysqldump -uroot -p123 paintingstone_db> /opt/backup/mysql/blod_$(date +%Y%m%d_%H%M%S).sql

开启该文件的全部权限
chmod 777 mysql_data_bak.sh

vim /etc/crontab
=》修改定时任务配置文件,写入以下代码:
00 01 * * * root /opt/backup/mysql_data_bak.sh

service cron restart
=》重启定时任务服务

/etc/init.d/cron restart
等同于
service cron restart

mysqldump: [Warning] Using a password on the command line interface can be insecure.
=》mysql备份时给我的提示,只是警告,不是错误

启动redis报错

启动redis用service redis start即可,再用redis-cli命令连接到服务器

io.lettuce.core.RedisCommandExecutionException: MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
=》在往redis写入数据时抛出该异常,解决方案如下:

tail /var/log/redis/redis-server.log
=》查看最新10条日志,找到以下信息:
=》Failed opening .rdb for saving: Read-only file system

解决办法:
连接到redis服务器(redis-cli),输入以下命令:
=》config set stop-writes-on-bgsave-error no

原文地址:https://www.cnblogs.com/syjp/p/11093905.html