##关闭数据库
systemctl stop mysqld
##跳过特权表启动数据库
方法一:
CentOs 6:
mysql_safe --skip-grant-tables --skip-networking &
CentOs 7:
mysqld --skip-grant-tables --skip-networking &
方法二:
修改配置文件
vim /etc/my.cnf
[mysqld]
skip-grant-tables
skip-networking
...
systemctl start mysqld
##修改密码
方法一: 使用mysqladmin 命令修改
mysqladmin -uroot -p'oldpassword' password '123'
方法二: 登录到mysql中通过sql语句alter修改用户密码
flush privileges; /刷新特权表
alter user root@'localhost' identified by '1';#登录到mysql中通过updata语句更新信息
updata mysql.user setauthentication_string=PASSWORD('123') where user='root' and host='localhost';
mysql常用命令
##查看所有数据库列表
show databases;##进入数据库
use 数据库名;##查看该库所有表名
show tables;##直接查看指定库的表名
show tables from 库名;##查看表结构
desc 表名;
desc 库名.表名;
查询语句的语法格式
select 需要查询的字段名 from 库名.表名 where 条件;select user,host,authentication_string from mysql.user;select user,host,authentication_string from mysql.user where user='root';
修改表内容的语法
update 库名.表名 set 字段名='值' where 条件;
授权远程登录,使用windows图形化客户端(Navicat)进行操作
##授权
grant all on *.* to root@'%' identified by '123';
在windows打开Navicat,新建连接,可以使用图形化界面来写SQL语句
##创建数据库
create database softeem;##创建数据库teacher 指定字符集为utf8
create database teacher default character set utf8;##删除softeem库
drop database softeem;##修改数据库softeem的字符集为utf8
alter database softeem default character set utf8;##在teacher库创建一个user表,结构如下id name age gender
create table user(id INT(4) NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT(2) NOT NULL,
gender ENUM('男','女') NOT NULL DEFAULT '男');##修改表属性及约束#修改name字段的字符类型为CHAR(20)
ALTER TABLE user MODIFY name CHAR(20);#修改表名
ALTER TABLE user RENAME users;##添加列和列定义
ALTER TABLE users ADD phone INT AFTER age;
ALTER TABLE users ADD birthday DATETIME AFTER id;##DCL 数据库控制语句(运维专用)
DCL(Data Control Language),数据控制语言,针对权限进行控制。
GRANT REVOKE
例1:授权tanfei用户在任意主机登录可以对teacher库做所有的权限
GRANT ALL ON teacher.* TO tanfei@'%' IDENTIFIED BY '123';
例2:解除例7的授权
REVOKE ALL ON teacher.* FROM tanfei@'%';
例3:DML:数据库操作语句
DML(Data Manipulation Language),数据操作语言,操作表的数据行信息。
INSERT UPDATE DELETE TRUNCATE
例4:在users表中插入一行数据
INSERT INTO users(id,birthday,name,age,phone,gender) VALUES(1,'2000-11-11','张三',20,1891111222,'男');
INSERT INTO users VALUES(2,'2000-11-12','李四',21,1891111211,'男');
例5:在users表中插入多行数据
INSERT INTO users(id,birthday,name,age,phone,gender) VALUES
(3,'2000-11-11','aa',20,1891111222,'女'),
(4,'2000-11-11','bb',20,1891111223,'男'),
(5,'2000-11-11','cc',20,1891111224,'女'),
(6,'2000-11-11','dd',20,1891111225,'男');
例6:更新users表张三的性别为女
UPDATE users SET gender='女' where id=1;
例7:删除users表中张三的信息
DELETE FROM users WHERE id=1;##DQL:数据库查询语句(运维)
DQL(Data Query Language),数据查询语言
SELECT SHOW