【登录】
非mysql默认端口3306时,需要指定端口 -P
# mysql -uroot -p -h <host or ip> -P <port>
【查看数据库、表、表接口、列】
mysql > show databases;
mysql > use <database name>
mysql > show tabales;
mysql > desc <table name>;
mysql > show tables;
mysql > desc 表名;
mysql > show columns from 表名;
mysql > describe 表名;
mysql > show create table 表名;
mysql > use information_schema
mysql > select * from columns where table_name='表名';
【修改密码】
mysql > update user set password=PASSWORD('123') where user='root';
mysql > flush privileges;
mysql > set password for dbuser1@'%'=password('<密码>');
mysql > commit;
mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql > flush privileges;
【修改权限】
mysql > GRANT ALL ON dbuser1.* TO 'dbuser1'@'%' IDENTIFIED BY '<密码>';
mysql >FLUSH PRIVILEGES;
【执行SQL】
# mysql -h host -u user -p password dbname < batch.sql
# mysql -h host -u user -p password dbname -e "insert into user(id, name) values(99, 'andy');"
mysql > source batch.sql;
【创建数据库】
解决 mysql 查询字段不区分大小写问题,可以在创建数据库时指定字符集。
# create database narcissus character set utf8 collate utf8_bin;
【mysql检查事务锁】
mysql > use information_schema;
mysql > select * from innodb_trx;
mysql > select * from innodb_locks;
mysql > select * from innodb_lock_waits;
【导入导出数据】
mysql 导出结构不导出数据
mysqldump --opt -d 数据库名 -u root -p > xxx.sql
mysql 导出数据不导出结构(-c 表示 insert 语句中包括列名)
mysqldump -c -t 数据库名 -uroot -p > xxx.sql
mysql 导出结构和表数据
mysqldump 数据库名 -uroot -p > xxx.sql
mysql 导出特定表结构
mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql
【遇到的问题】
1、linux下my.cnf 配置文件的权限设置过高,导致mysql没有读取该配置文件,正常的权限应该是 644,归属mysql账户所有