数据库操作

创建数据库

CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

创建用户

CREATE USER 'user'@localhost IDENTIFIED BY 'password';  ## 本地访问
CREATE USER 'user'@'%' IDENTIFIED BY 'password';  ## 任意ip访问

给权限

GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@localhost; ## 给单独数据库的权限

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password'; ## 给全部权限但是该user不能编辑和给予其它用户权限

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; ## 给全部权限并且该user可以编辑和给予其它用户权限

导出所有数据库

#备份数据库
mysqldump -u用户名 -p密码 --lock-all-tables --all-databases > all.sql
#导入数据库
mysql -u用户名 -p密码 < all.sql

导出所有数据库到单独的sql文件(使用unix_socket插件,不需要输入用户密码)

#!/bin/bash

databases=`mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

for db in $databases; do
    if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
        echo "Dumping database: $db"
        mysqldump --databases $db > `date +%Y%m%d`.$db.sql
    fi
done

mysql查看查询结果的列数

select count(*) from wp_posts where post_type="post" and post_status="publish";

mysql连接远程数据库:

mysql -h ip -P 3306 -u username -ppasswd