MySQL服务器基本管理

mysql命令行工具常用命令 | 系统数据库与数据库管理 | 系统变量 | 日志类型 | 配置文件 | 字符集
用yum安装查看mysql安装目录和配置文件
#rpm -ql mysql-community-server

连接远程mysql
#mysql -h localhost -uroot -p 

直接连接数据库里面的 mysql库
#mysql -h localhost -uroot -p mysql

通过IP访问,需要mysql开通远程访问功能
#mysql -h 192.168.31.3 -uroot -p

加端口连接
#mysql -h 192.168.31.3 -uroot -p --port=3306


连接数据库执行SQL命令
#mysql -h localhost -uroot -p -e "show databases;"




help可以查看grant的
#help grant


允许远程用户访问数据库
grant 权限 on 数据库对象 to 用户
#GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456';



添加防火墙端口
#firewall-cmd --zone=public --add-port=3306/tcp --permanent

删除防火墙端口
#firewall-cmd --zone=public --remove-port=3306/tcp --permanent

重启防火墙
#firewall-cmd --reload

查看防火墙开放端口
#firewall-cmd --list-ports





MySQL命令行工具命令

charset charset_name ,  \C charset_name     example: charset utf8 ,\C utf8      更改mysql默认字符编码
connect [db_name hostname], \r [db_name hostname]								重新连接服务器	
delimiter str, \d str															更改mysql解释SQL语句之间的分隔符。默认是分号
edit, \e                                                                        编辑上一步输入的语句
ego, \G						example: select * form mysql.user\G;				将当前语句发送到要执行的服务器,并使用垂直格式显示结果
use db_name, \u db_name															使用db_name座位默认数据库
go, \g																		 	将当前语句发送到要执行的服务器
prompt [str], \R [str]															重新配置mysql提示符
resetconnection, \x																重新连接以清除会话状态
source file_name, \.file_name													读取文件并执行其中包含的语句
status, \s																		输出正在使用的连接和服务器的状态信息
system command, \! command       example:system ls可以在mysql中ls系统中的目录和文件  	使用默认的shell解释器执行命令
tee [file_name],\T [file_name]													记录语句及其输出,所有的数据都会附加到给定的文件中
exit, quit, \q 																	退出mysql









数据库管理

查看当前正在use那个数据库
#select database();

创建新数据库
#create database test;


删除数据库
#drop database test;

进入数据库
#use test;

查看数据库下所有表
#show tables;

查看表结构
#describe user;



系统变量

查看当前系统变量当前值
SHOW [GLOBAL | SESSION] STATUS语句查看这些变量及值
查看当前系统变量
#show variables;

模糊查询系统变量
#show variables like '%max%';





设置系统变量值
set global max_connections=1024;
全局变量:整个实例。使用SET GLOBAL VAR_NAME=VALUE语句更改变量值
回话变量:作用域客户端回话,使用SET SESSION VAR_NAME=VALUE语句更改变量值

系统变量表:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
动态系统变量表:https://dev.mysql.com/doc/refman/5.7/en/dynamic-system-variables.html




日志类型
Error log   			实例启动、运行或关闭时的问题
General query log  		建立客户端连接和从客户端接收的语句(所有接收的语句)
Binary log				更改数据的语句(也可以用于复制)
Relay log				从复制的主服务器接收到的数据更改语句
Slow query log			查询花费超过long_query_time(秒)执行的语句


修改配置文件
#vi /etc/my.cnf

#error log
log-error=/var/log/mysqld.log

#general query log
general_log=1
general_log_file=/var/log/mysqld/general_query.log

#binary log
server_id=100
log-bin=mysql-bin

#slow query log
slow_query_log=1    #启用
long_query_time=10  #超过多少秒的sql语句记录
slow_query_log_file=/var/log/mysqld/slow_query.log


运行中开启General query log、Slow query log
	
查看系统变量general
#show variables like 'general%';
#show variables like 'slow%';
关闭输出日志
#set global general_log=OFF;
#set global slow_query_log=OFF;


配置文件
默认位置
第一:/etc/my.cnf   
第二:/etc/mysql/my.cnf   
第三:mysql安装目录下寻找(/usr/local/mysql)



#vim /etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
bind-address=0.0.0.0
character-set-server=utf8
collation-server=utf8_general_ci
max_connections=1024
default-storage-engine=InnoDB


查看数据库创建时的信息
#show create database test;

字符集

更改数据库字符集
#set global character_set_database=utf8

更改数据库客户端字符集
#set global character_set_client=utf8

更改连接默认字符集
#set global character_set_connection=utf8

更改已经存在的数据库字符集
#alter database mydb character set utf8

更改存在表的字符集
#use mytable
#alter table mytable default character set utf8

更改存在表字段字符集
alter table mytable change old_column new_colunm varchar(255) character set utf8;

你可能感兴趣的:(MySQL)