MySQL日常维护参考手册

一、启动和停止mysql服务

1、使用 service 启动:

[root@szxdb etc]# service mysqld start

重启:

Service mysqld restart

停止:

Service mysqld stop

2、使用 mysqld 脚本启动:

/etc/inint.d/mysqld start

重启:

/etc/init.d/mysqld restart

停止:

/etc/init.d/mysqld stop

3、使用 safe_mysqld 安全启动:

mysqld_safe --defaults-file=/etc/my.cnf --user=root &

二、登录mysql服务

1、连接本地的mysql服务

方式一:mysql -u用户名 -p密码

注意:u 和用户名, p 和用户名之间没有空格 

 

方式二:后输入密码方式: 
mysql -uroot -p

 

可以看到mysql的版本为5.7.17

退出mysql服务:exit或quit

exit

2、连接远程mysql服务

方式一:
mysql -hip地址 -u用户名 -p密码

 

方式二:

mysql --host=127.0.0.1 --user=root --password=123456

 

 如果端口不为3306:

mysql -hip地址 -port端口号 -u用户名 -p密码

mysql --host=127.0.0.1 --port=13306 --user=root --password=123456

3、最大连接数

查看最大连接数

show variables like '%max_connections%';

修改最大连接数

set GLOBAL max_connections = 2000;

三、常用操作命令

1、查看MySQL的版本

方法一:status;

方法二:select version();

2、查看数据库

show databases;

3、使用某个数据库

use 数据库名;

4、展示该数据库的表信息

show tables;

5、展示表中的基本信息

desc 表名;

四、授权和撤消

1、创建用户

语法: 

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

关键字说明: 

具体操作: 

创建 user1 用户,只能在 localhost 这个服务器登录 mysql 服务器,密码为 123 

create user 'user1'@'localhost' identified by '123';

创建 user2 用户可以在任何电脑上登录 mysql 服务器,密码为 123

create user 'user2'@'%' identified by '123';

注:创建的用户名都在 mysql 数据库中的 user 表中可以查看到,密码经过了加密。 

2、给用户授权

用户创建之后,没什么权限!需要给用户授权

语法: 

GRANT 权限 1, 权限 2... ON 数据库名.表名 TO '用户名'@'主机名';

关键字说明: 

给 user1 用户分配对 test 这个数据库操作的权限:创建表,修改表,插入记录,更新记录,查询

grant create,alter,insert,update,select on test.* to 'user1'@'localhost';

注:用户名和主机名要与上面创建的相同,要加单引号。

给 user2 用户分配所有权限,对所有数据库的所有表

grant all on *.* to 'user2'@'%';

刷新

flush privileges;

3、撤销授权

语法: 

REVOKE 权限 1, 权限 2... ON 数据库.表名

revoke all on test.* from 'user1'@'localhost'; '用户名'@'主机

';

关键字说明: 

 

撤销 user1 用户对 test 数据库所有表的操作的权限

revoke all on test.* from 'user1'@'localhost';

注:用户名和主机名要与创建时相同,各自要加上单引号

4、查看权限

语法: 

SHOW GRANTS FOR '用户名'@'主机名';

查看 user1 用户的权限 

注:usage 是指连接(登陆)权限,建立一个用户,就会自动授予其 usage 权限(默认授予)。 

5、删除用户

语法 

DROP USER '用户名'@'主机名';

删除 user2 

drop user 'user2'@'%';

6、修改管理员密码

语法

mysqladmin -uroot -p password 新密码

注意:需要在未登陆 MySQL 的情况下操作,新密码不需要加上引号。

1)、 将 root 管理员的新密码改成 123456

2)、 要求输入旧密码

3) 、使用新密码登录

 

7、修改普通用户密码

语法: 

set password for '用户名'@'主机名' = password('新密码');

注意:需要在登陆 MySQL 的情况下操作,新密码要加单引号。 

将'user1'@'localhost'的密码改成'666666'

使用新密码登录,老密码登录不了

 

五、备份和还原

1、备份

一. 备份数据库(如: test):

①可直接进入后台即可.(MySQL的默认目录:/usr/local/mysql )

②输入命令:

[root@obj mysql]# mysqldump -u root -p test>/home/bak/2015-09-10/test.sql
Enter password: 123456

此时,已成功将数据库test备份到/home/bak/2015-9-10目录下的test.sql中.

二、脚本备份(参考如下文档)

 

2、还原

三. 还原数据库(如: test):

1.第一种方法.
[root@obj root]# mysql -u root -p test < /home/bak/2015-09-10/test.sql
Enter password:123456

2.第二种方法.
①先登录mysql数据库,输入命令 mysql -u root -p,输入密码即可.

②若没有数据库则需创建:create DATABASE test;
③再使用数据库test, use test;
④导入备份文件. source /home/bak/2015-09-10/test.sql;

这样数据库test的数据就还原成原先备份的数据了.

六、常见问题处理

1Linux启动Mysql出现command not found的解决方法

当在Linux中安装Mysql后,不管是在根目录下还是在安装mysql的bin下执行:

mysql -uroot -p

结果都是command not found,如下图所示:

问题原因,linux默认启动Mysql,会在根目录下的bin中去启动,因此需要创建一个软连接

执行以下命令:ln -s /usr/local/mysql/bin/mysql /usr/bin

然后在根目录下在此执行启动mysql的命令:mysql -uroot -p

就可以启动了

2Linux下设置MySql自动启动

2.1、将服务文件拷贝到init.d下,并重命名为mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

2.2、赋予可执行权限

chmod +x /etc/init.d/mysqld

2.3、添加服务

chkconfig --add mysqld

2.4、显示服务列表

chkconfig --list

 

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

chkconfig --level 345 mysqld on

2.5、重启电脑

reboot

2.6、验证

netstat -na | grep 3306

如果看到有监听说明服务启动了

3、忘记root密码,重置MySql用户 root密码

重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

一般这个错误是由密码错误引起,解决的办法自然就是重置密码。

假设我们使用的是root账户。

1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(vim编辑状态下直接输入该命令可搜索文本内容)

[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

https://images2015.cnblogs.com/blog/862200/201607/862200-20160727153846934-2016310105.png

保存文档并退出:

#:wq
2.
接下来我们需要重启MySQL

/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)

https://images2015.cnblogs.com/blog/862200/201607/862200-20160727154310153-619345773.png

3.重启之后输入#mysql即可进入mysql

 

https://images2015.cnblogs.com/blog/862200/201607/862200-20160727154613466-19775596.png

4.接下来就是用sql来修改root的密码

mysql> use mysql;
mysql> update user set password=password("
你的新密码") where user="root";

语句(update mysql.user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
mysql> quit

到这里root账户就已经重置成新的密码了。

5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!

https://images2015.cnblogs.com/blog/862200/201607/862200-20160727155035919-869018458.png

 网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:

https://images2015.cnblogs.com/blog/862200/201607/862200-20160727155248684-2076378756.png

至于windows平台,去安装目录下找一下my.ini吧。

4、linux下中文乱码的解决办法

启动mysql 服务后执行,登录数据库:

mysql>> show variables like 'character%";#执行编码显示

+-------------------------+

|Variable_name | value l

+-------------------------+

l character_set_client | latin1l

l character_set_connection | latin1l

l character_set_database | latin1 l

l character_set_filesystem | binary l

l character_set_results | latin1l

l character_set_server | latin1 l

lcharacter_set_system | utf8 l

l character_sets_dir |/usr/share/mysql/charsets/l

找到客户端配置[client]在下面添加

#默认字符集为utf8

default-character-set=utf8

再找到[mysqld]添加

#默认字符集为utf8

default-character-set=utf8

character-set-server=utf8

init_connect='SET NAMES utf8’

重新启动mysql服务

service mysql(或者是自定义的服务名) restart

可能在修改之后,仍是乱码,需要重新创建数据库。

create database数据库名default character utf8;

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL 日常维护手册包括以下几个方面内容: 1. 数据库备份:定期备份数据库是一项重要的任务。通过使用 mysqldump 命令或者 MySQL 的备份工具可以实现数据库备份。备份文件可以保存在本地或者远程服务器上,以防止数据丢失或者故障发生。 2. 数据库优化:MySQL 数据库在使用过程中可能会出现查询缓慢或者性能下降的情况。通过优化数据库可以提高查询速度,例如使用索引、优化查询语句、增加内存等方式。 3. 数据库监控:监控数据库的运行状态可以及时发现异常情况并进行处理。可以使用工具如MySQL Enterprise Monitor来监控服务器的运行状况。 4. 数据库安全性:保护数据库的安全性是非常重要的。可以通过设置强密码、限制远程访问、定期更新补丁、使用防火墙等方式来提高数据库的安全性。 5. 定期维护数据库需要进行定期的维护工作,例如检查表的状态、优化表结构、清理无用的数据、重新生成索引等。 6. 日志管理:MySQL 提供多种类型的日志记录,包括二进制日志、错误日志、慢查询日志等。合理设置和管理这些日志可以方便故障排查和性能分析。 7. 数据库容灾:为了保证数据库的高可用性和灾备性,可以使用主从复制、双机热备等容灾方案。 总之,MySQL 日常维护手册主要包括备份、优化、监控、安全、定期维护、日志管理和容灾等方面的内容。通过合理运用这些维护手段,可以保证数据库的稳定运行和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红烧小肥杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值