MySql 导入
-- 选择数据库
mysql>use abc;
-- 设置数据库编码
mysql>set names utf8;
-- 导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
MySql 导出
执行: mysqldump命令,如果/usr/bin目录下没有该命令则需要进入mysql安装目录bin下面执行
导出该库全部全部表结构与表数据
#语法: mysqldump -u 用户名-p 数据库名 --default-character-set=utf8 > 导出路径/导出文件名
#示例: 用root用户以utf8编码格式导出test库到/tmp目录下,导出文件名为test.sql
mysqldump -u root -p test --default-character-set=utf8 >/tmp/test.sql
只导出数据库函数与过程
#语法: mysqldump -u 用户名 -p -ntd -R 数据库名 > 导出路径/导出文件名
# 其中的 -ntd 是表示导出存储过程;-R是表示导出函数
#示例: 用root用户导出test库下的存储过程函数到/tmp目录下,导出文件名为testfun.sql
mysqldump -u root -p -ntd -R test >/tmp/testfun.sql
导出指定表的结构与数据(单表)
#语法: mysqldump -u 用户名 -p 数据库名 表名 > 导出路径/文件名
#示例: 导出test库中的user表
mysqldump -u root -p test user > /tmp/user.sql
导出指定表的结构与数据(多表)
#语法: mysqldump -u 用户名 -p 数据库名 表1 表2 表3> 文件名
# 多张表名用空格隔开
#示例: 导出test库中的user,user_one表
mysqldump -u root -p test user user_one > /tmp/user2.sql
只导出事件
#示例
mysqldump -E -ndt test -u root -p > /tmp/my_event.sql
用户的创建及授权
查看当前所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
查看某个用户的全部权限
mysql> SHOW GRANTS FOR '用户名';
创建针对所有库并且可从任意ip访问的用户
-- 示例:创建commentUser用户,密码:emans_My0624
mysql> GRANT ALL PRIVILEGES ON *.* TO commentUser@'%' IDENTIFIED BY 'emans_My0624' WITH GRANT OPTION;
刷新权限
mysql> FLUSH PRIVILEGES;
授权SELECT,INSERT,UPDATE,CREATE权限 关于my_test库下user表给test_account用户
-- 该条语句同事创建了test_account用户
mysql> GRANT SELECT,INSERT,UPDATE,CREATE ON my_test.user to test_account@'%' IDENTIFIED BY 'emans_My0624';
收回test_account用户关于my_test.user表的全部权限
mysql> REVOKE ALL PRIVILEGES on my_test.user from test_account;
删除账户
mysql> DELETE FROM mysql.user WHERE user ='test_account';
修改密码
-- 5.7版本的语法:
mysql> update mysql.user set authentication_string=password('新密码') where user='用户名' ;
-- 示例:
update mysql.user set authentication_string=password('emans_My0624123') where user='test_account' ;
-- 低版本的语法:
mysql> UPDATE mysql.user SET password=PASSWORD("新密码") WHERE user='用户名';
-- 示例:
mysql> UPDATE mysql.user SET password=PASSWORD("emans_My0624123") WHERE user='test_account';
MySql批量删除当前库下表名符合条件的表,先拼接sql语句再执行
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_schema='数据库名' and table_name LIKE '%表名关键字%';
MySql批量修改当前库下表名表名为大写的表,替换为小写
Select CONCAT( 'RENAME TABLE ', table_name, ' to ' ,LOWER(table_name),';')
FROM information_schema.tables Where table_schema='数据库名' and table_name LIKE '表名关键字%';