MySQL常用命令
一,查看数据字符集
show variables like '%char%';
二,查看、修改数据库最大连接数
show variables like "max_connections";
set global max_connections = 500;
三,创建数据库
CREATE DATABASE cmpdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
四,查看表结构,修改表结构,给表增加、删除、修改字段
desc t_user;
ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP column_name
ALTER TABLE table_name MODIFY column_name varchar(100)
五,数据库授权
1,mysql8之前可以一起执行
grant all privileges on *.* to 'ipt'@'%' identified by '123456' with grant option;
flush privileges;
2,mysql8需要语句拆分执行:创建账户、赋予权限
create user 'ipt'@'%' identified by '123456'
grant all privileges on *.* to 'ipt'@'%' with grant option
flush privileges;
六,数据库忽略表的大小写
修改/etc/my.cnf配置文件:
[mysqld]
lower_case_table_names=1
#MySQL 开启 binlog 和 GTID 模式
server-id=1
log-bin=mysql-bin
binlog_format=ROW
gtid-mode=on
enforce-gtid-consistency=1 # 设置为主从强一致性
log-slave-updates=1 # 记录日志
七,导入数据库命令
1,在shell命令行执行,需要有安装mysql client
mysql -uroot -p123 -Dgtja --default-character-set=utf8mb4 -v < gtja.sql
2,也可以直接进去mysql服务里执行
mysql> create database abc;
mysql> use abc;
mysql> set names utf8mb4;
mysql> source /home/abc/abc.sql
八,导出数据库命令
1,在shell命令行执行,需要有安装mysql client
mysqldump -h192.168.153.36 -uroot -p123456 -B icmp_admin > /opt/icmp.sql
2,常用参数:
--host=host_name, -h host_name MySQL 数据库主机地址,默认为 localhost
--port=port_num, -P port_num 连接数据库端口号
--user=user_name, -u user_name 指定连接数据库的用户名
--password[=password], -p[password] 连接数据库的密码
--all-databases, -A 导出全部数据库的全部表
--databases, -B 导出几个数据库。参数后面所有名字参量都被看作数据库名 示例:mysqldump -uroot -p --databases test mysql
--tables 覆盖 --databases 或 -B 参数,指定需要导出的表名 示例:mysqldump -uroot -p --host=localhost --databases test --tables test
--default-character-set 设置默认字符集,默认值为 utf8。示例:mysqldump -uroot -p --all-databases --default-character-set=latin1
--no-data, -d 不导出任何数据,只导出数据库表结构。示例:mysqldump -uroot -p --host=localhost --all-databases --no-data
九,跨服务器导出导入数据
1,将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
2,加上-C参数可以启用压缩传递。密码特殊字符加单引号
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
mysqldump --host=192.168.61.118 -uroot -p'!@#$%qwert' -C --databases itcmp_message | mysql --host=192.168.0.248 -uroot -ppassword itcmp_message
3,导出指定表的数据
mysqldump -h192.168.61.16 -uroot -p1qaz@WSX --databases itcmp --tables t_virtualmachine | mysql -h192.168.0.248 -uroot -ppassword itcmp