注意mysql在输入命令时-u和-p与密码之间没有空格
SELECT 'robot' AS `set`, r.*
FROM robot r
WHERE ROW(r.col1, r.col2, …) NOT IN
(
SELECT *
FROM tbd_robot
)
UNION ALL
SELECT 'tbd_robot' AS `set`, t.*
FROM tbd_robot t
WHERE ROW(t.col1, t.col2, …) NOT IN
(
SELECT *
FROM robot
)
参考:https://stackoverflow.com/questions/950414/compare-differences-between-two-tables-in-mysql
SELECT
*
FROM
table_name
INTO OUTFILE '/var/lib/mysql-files/filename.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '';
ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement问题处理方法
通过SELECT @@secure_file_priv;
查询到安全路径
将outfile输出到上述路径即可
mysqldump -uroot -p –routines dbname > dbname.sql
mysqldump -uroot -p --routines test > test.sql
上述命令将导出数据库test到test.sql文件中,生成的内容包括建表ddl语句,insert格式的dml语句
编辑/etc/rc.d/rc.local文件,加入如下语句
/opt/mysql-5.7.30/bin/mysqld_safe --user=mysql
设置rc.local为可执行文件: chmod +x /etc/rc.d/rc.local
如果不设置rc.local的可执行权限开机启动rc.local文件将不会被执行
将mysqldump命令保存为shell文件,例如保存文件为/usr/bak.sh
编辑cron设置自动备份周期
cron的编辑命令为:crontab -e
输入如下内容
0 23 * * * sh /usr/bak.sh
上述设置将在每天23点执行/usr/bak.sh即可实现每天23点自动备份的需求
关闭mysql然后在命令行执行以下命令:
mysqld --install
如果提示:Install/Remove of the Service Denied!
表示权限不够,使用管理员身份打开命令行重新执行命令
window配置文件读取顺序:
File Name | Purpose |
---|---|
%PROGRAMDATA%\MySQL\MySQL Server 5.7\my.ini, %PROGRAMDATA%\MySQL\MySQL Server 5.7\my.cnf | Global options |
%WINDIR%\my.ini, %WINDIR%\my.cnf | Global options |
C:\my.ini, C:\my.cnf | Global options |
BASEDIR\my.ini, BASEDIR\my.cnf | Global options |
defaults-extra-file | The file specified with –defaults-extra-file, if any |
%APPDATA%\MySQL.mylogin.cnf | Login path options (clients only) |
linux配置文件读取顺序:
File Name | Purpose |
---|---|
/etc/my.cnf | Global options |
/etc/mysql/my.cnf | Global options |
SYSCONFDIR/my.cnf | Global options |
$MYSQL_HOME/my.cnf | Global options |
defaults-extra-file | The file specified with –defaults-extra-file, if any |
~/.my.cnf | User-specific options |
~/.mylogin.cnf | User-specific login path options (clients only) |
linux默认data目录:
/var/lib/mysql
/usr/local/mysql
5.7启动的时候可以指定是否生成随机密码
--initialize
生成随机密码
--initialize-insecure
空密码
show processlist
显示正在运行的线程
select version()
查看数据库版本
show table status
显示表空间,索引空间,表行数等信息
SHOW VARIABLES LIKE '%character%'
显示编码格式
当root密码为空时:mysqladmin -uroot -ppassword mypassword
当root密码不为空时:mysqladmin -uroot -pmypassword password mynewpassword
mysqladmin shutdown -uroot -proot
其中root/root是用户名密码
解决方案:
jdbc的连接url增加参数zeroDateTimeBehavior
http://hostname:port/db?zeroDateTimeBehavior=convertToNull
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
参考:创建数据库
create user 'username'@'localhost' identified by 'user_password';
grant all on dbname.* TO 'username'@'localhost';