Pinvon's Blog

所见, 所闻, 所思, 所想

MySQL的一些常用操作

创建数据库

假设要创建数据库: Healthy

CREATE DATABASE Healthy;

# 给本自localhost的用户root分配对Healthy数据库的所有表进行所有操作的权限, 并设定口令为123456
GRANT ALL PRIVILEGES ON Healthy.* TO root@localhost IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

# 查看数据库
SHOW DATABASES;

# 使用Healthy数据库
USE Healthy;

# 查看表
SHOW TABLES;

# 创建表
create table user( id int(11) not null primary key auto_increment, name varchar(50), age tinyint(4) );

# 查看表结构
SHOW COLUMNS FROM user;  # 或者 DESC 表名

如果在 GRANT... 时, MySQL提示密码强度不符合当前的策略, 则可这样修改:

# 登陆到服务器
mysql -u root -p

# 设置validate_password_policy
mysql> set global validate_password_policy=0;

# 设置validate_password_length
mysql> set global validate_password_length=4;

查询表

# 查询users表中的所有数据
SELECT * FROM users;

# 查询users表中特定列的数据
SELECT id, name FROM users;

# 按特定条件查询表中的数据
SELECT * FROM users WHERE name='pinvon';
SELECT id FROM users WHERE name='pinvon';

导入导出 SQL 脚本

导出整个数据库

mysqldump -u user_name -p database_name > output.sql

导出一个表

mysqldump -u user_name -p database_name table_name > output.sql

导入 SQL 脚本

mysql -u root -p
use database_name
source output.sql

导出存储过程

上述对 MySQL 的导出, 默认是不导出存储过程的, 如果要包含存储过程, 可以改成:

mysqldump -u root -p -R database_name > output.sql

以下命令可以单独导出存储过程:

mysqldump -u root -p -n -t -d -R --triggers=false database_name > output.sql

在导入时如果出错, 就修改配置文件 /etc/my.cnf 的 [mysqld] 选项, 添加一行:

log-bin-trust-function-creators=1

Comments

使用 Disqus 评论
comments powered by Disqus