1.设置更改root密码
查看linux 下mysql 是否启动。
2.
更改PATH 路径:
编辑 /etc/profile 文件,把环境路径放在最后面。
把 export PATH=$PATH:/usr/local/mysql/bin/ 环境变量放在最后面。
也可以采用命令,把启动环境加到脚本里面去# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
然后执行脚本:# source /etc/profile
运行 source /etc/profile
mysql 密码模式为空。可以通过 myadmin -uroot password 'lihaipeng.1';
之后再登录mysql,会提示输入密码。
更改root 密码:
如果不知道原密码,如何更改?
进入/etc/my.cnf 增加skip-grant-tables表示忽略授权,也就是说不用密码,就能直接登录。
如果完成修改后,重启mysql 会产生如下报错:
问题1:一般设置了密码或忘记密码,系统都会报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
处理方法:查看当前mysql服务的进程ID,全部杀死!kill ID
然后重新启动mysql数据库: /etc/init.d/mysqld start
重启数据库的方法: /etc/init.d/mysqld restart
问题2: 执行mysql -uroot 时, 提示-bash: mysql: 未找到命令
这个问题,是没有把mysql 环境变量加在系统环境变量中。执行下面的语句可以解决:
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
然后执行脚本:# source /etc/profile
-u 用来指定要登录的用户,后面有无空格均可。root用户是Mysql 自带的管理员账号,默认是没有密码的,给管理员设置密码如下:
#mysqladmin -uroot password 'mysql'
修改密码:
方法一:# mysqladmin -uroot -p'mysql' password 'abcsss' 记得密码。
方法二:
1.在/etc/my.cnf配置文件里添加 skip-grant-tables
2.mysql -uroot ---进入到库
3.use mysql ----切换到库
4.update user set password=password('abcd') where user='root'; --更改密码
5.编辑/etc/my.cnf,取消skip-grant-tables
6./etc/init.d/mysqld restart ----重启mysql服务
进入mysql 数据库,查看到root密码。
修改ROOT密码
update user set password=password('abcd') where user='root';
2 mysql 基本操作的常用命令:
1. 查看数据库:查看都有什么数据库
2. 切换并使用数据库:
3. 查看数据库当中的表:
4. 查看字段:
5.查看建表语句
show create table user\G; ---\G表示竖排显示
6. 查看当前用户
select user(); --当前登录为本机
7.查看当前使用的数据库
select database(); --当前所在mysql库
8.创建数据库
create database db1; --可以看到多个db2的库
9、在创建好的数据库中建立表:
create table t1(`id` int(4), `name` char(40)); --t1为名字 id、name为字段 int为格式 char字符串最长40
10.查看当前数据库的版本:
select version();
11.查看数据库状态 show status;
12. 查看mysql的参数--这些参数也可以再my.cnf定义
show variables; --这里列举一部分
13.也可以指定查找
show variables like 'slo%'; ---%表示通配,当你不记得字母可以使用这个
14.修改mysql参数
set global max_connect_errors=1000; --global只是临时修改,要永久生效需要去配置文件添加
15:查看当前mysql服务器的队列:
查看服务器队列可以查看当前mysql在干什么,也可以发行是否有锁表!
show processlist;
show full processlist; 完整查看(可以看到info这里显示比较完整)
3. 常用sql语句
查询语句;
count(*)表示表中有几行 mysql.user :表示查询mysql库中的user表
select count(*) from mysql.user;
查询表中的所有数据
mysql.user :表示查询mysql库中的user表 *表示所有数据
select * from mysql.user\G;
查询指定段的数据
select db from mysql.user;
也可以指定多个字段查询数据
select db,user from mysql.db;
插入一行数据;
use db1; ---切换db1库
create table t3 (`id` int(4), `name` char(40)); ---创建一个t3的表
insert into db1.t3 values (1,'aa'); ----插入一行数据
select * from db1.t3; ---查询表中数据
更改表中数据
update db1.t3 set name='123' where ind=1;
可以看到表中数据原本是aaa变成了123
清空表中数据,表中结构保留
truncate table db1.t3;
desc查看字段,可以看到只清空了表的数据,结构还是保留了
删除表;
show tables; --- 查询当前库的表
drop table db1.t3; ----删除表
可以看到原本的t3表已经删除了。
删除库;
show databases; ---查询当前库
drop database db1; ---删除库
可以看到原本的db1库已经删除了。
4.mysql数据库备份恢复
1. 备份数据库,把当前数据库,手工备份:
(1)建立备份文件夹:
(2) 把当前数据库备份到beifen 目录下:
(3) 进入数据库去删除一张表:
drop table db1.t1
(4) 删除数据库db1;
drop database db1;
(5) 恢复数据库
补充:
数据备份(mysqldump的,在Linux的终端中操作)
如图:
1所示,命令格式
#mysqldump -uroot -p源库名>路径/xxx.sql
2示例1中,备份DB2库
#mysqldump -uroot -p DB2> /home/ DB2 .sql
3,源库名的表示方式
--all-databases备份所有库
库名备份单个库
-B库1库2 ...备份多个库
库名表1表2 ...备份指定库的指定表
4,练习
1,备份所有库all_mysql.sql,放到用户主目录下的MYDATA目录中
的mysqldump -uroot -p -全数据库>〜/ MYDATA / all_mysql.sql
2,备份DB2库中的生city,xian三张表db2scx.sql
mysqldump -uroot -p db2 sheng city xian>〜/ mydata / db2scx.sql
3,备份MOSHOU和db2库,MSdb2.sql
mysqldump -uroot -p -B MOSHOU db2>〜/ mydata / MSdb2.sql
数据恢复
1,命令格式
mysql -u用户名-p目标库名<路径/xxx.sql
2,示例
1,先备份库
mysqldump -uroot -p db2> db2.sql
2,删除库
drop database db2;
3,先创建空库
创建数据库db2默认charset = utf8;
4,恢复命令
的MySQL -uroot -p DB2 <db2.sql
3,分为备份完全备份状语从句:增量备份
完全备份:mysqldump的
增量备份:二进制日志日志,xbackup工具
4,从所有库的备份文件中恢复某一个库(--one-database)
mysql -u用户名-p --one-database目标库名<all_mysql.sql
示例:
mysql -uroot -p --one-database db2 <all_mysql.sql
注意:
1,恢复库时库中新增的表不会删除
2,恢复时必须先创建空库