1.检测mysql数据库是否安装
yum list installed | grep mysql
mysql-libs.i686 5.1.73-8.el6_8 @base
2.安装mysql-server(如果使用service 运行mysqld status,提示mysqld:unrecongnized service,是因为没有安装server)
yum install mysql-server
再次运行yum list installed | grep mysql后
mysql.i686 5.1.73-8.el6_8 @base
mysql-libs.i686 5.1.73-8.el6_8 @base
mysql-server.i686 5.1.73-8.el6_8 @base
3.数据库相关命令
数据库运行状态
service mysqld status
查看mysqld对应的进程
ps -e | grep mysqld
进入mysql命令行
mysql -h 23.106.138.174 -p 26056 -uroot -p
进入本地mysql命令行
mysql -uroot -p
切换mysql库
use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
更改表
查看user表中的user='root'对应的数据,根据实际情况更改表信息
select host ,user from user where user='root';
#如果上面查询到有信息,但host为localhost或其他值,就需要根据实际需求更新表信息
update user set host ='%' where user='root';
如果想任何的IP地址都可以使用root用户远程登陆(注意,如果上面的查询语句,查询出来多条,就需要做一些处理,比如多加一个条件,
如,where user='root' and host='localhost'或先删除其他人的记录还保存一条user='root'的记录)
更改权限
使用grant all privileges on 来更改用户对应某些库的远程权限
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;
#库名:要远程访问的数据库名称,所有的数据库使用"*";
#表名:要远程访问的数据库下的表的名称,所有的表使用"*";
#用户名:要赋给远程访问权限的用户名称;
#IP地址:可以远程访问的电脑的IP地址,所有的地址使用"%";
#密码:要赋给远程访问权限的用户对应使用的密码;
show命令查看mysql数据库信息
show databases;#查询所有数据库
show tables;#查询某一数据库中所有的数据库表
show variables;#显示系统变量名称和值(show variables like 'port';)
show warnings;#显示最后一条执行的SQL语句所产生的错误、警告等信息
show status;#显示系统特定资源的状态
查看当前数据库相关信息
status;
查看数据库的表信息
select * from information_schema.tables where table_schema='databasename';
查看某表的具体信息
select * from information_schema.tables where table_name='table_name';
查看数据库的所有用户信息
select distinct concat('user:''',user,'''@''',host,''';') as query from mysql.user;
show grants for 'root'@'localhost';
#查看某个具体用户的权限
show variables like '%max_connections%';
#查看数据库的最大连接数
show status like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 223 |
| Threads_running | 1 |
+-------------------+-------+
#查看数据库当前的连接数,并发数;
#cached:当前线程缓冲池中有多少空闲线程
#connected:代表丹铅已建立的连接数量,因为一个连接就需要一个线程,所以可以看成当前被使用的线程数
#created:代表从最近一次服务启动已创建线程的数量
#running:代表(非睡眠状态的)线程数。并不代表正在使用的线程数,有时候连接已经建立,但连接处于sleep状态,对应线程也是sleep状态。
show variables like '%datadir%';
#查看数据文件存放路径
show privileges;
#查看mysql支持的不同权限;
user表中的host列
% 匹配所有主机
localhost localhost不会被解析IP地址,直接通过UNIXsocket连接
123.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问
::1 ::1就是兼容支持ipv6的,表示ipv4的127.0.0.1