[ubuntu18.04]维护mysql

ubuntu18.04 维护mysql

  • 1 卸载mysql
  • 2 安装mysql
    • 2.1 安装mysql_server
    • 2.2 运行mysql安全脚本
    • 2.3 安全配置
      • 2.3.1 是否启动验证密码插件
      • 2.3.2 密码验证策略级别
      • 2.3.3 设置密码
      • 2.3.4 删除匿名用户
      • 2.3.5 远程登录
      • 2.3.6 测试数据库
      • 2.3.7 重载特权表
    • 2.4 登录mysql
  • 3 mysql服务管理
  • 4 mysql的配置文件
  • 5 查看mysql信息
    • 5.1 运行状态
    • 5.2 最大连接数
    • 5.3 当前连接数
    • 5.4 缓存大小
    • 5.5 查看增删改查条数
  • 6 导出与导入数据库
    • 6.1 导出
    • 6.2 导入
  • 7 配置远程连接
    • 7.1 修改配置文件
    • 7.2 设置权限
    • 7.3 查看权限
    • 7.4 流程总结

1 卸载mysql

su root
> 输入密码
sudo apt-get remove --purge mysql-\*
> 是否要继续 输出y

[ubuntu18.04]维护mysql_第1张图片

sudo rm -f /etc/init.d/mysql

2 安装mysql

2.1 安装mysql_server

sudo apt update
sudo apt install mysql-server

2.2 运行mysql安全脚本

sudo mysql_secure_installation

2.3 安全配置

2.3.1 是否启动验证密码插件

[ubuntu18.04]维护mysql_第2张图片
输入y

2.3.2 密码验证策略级别

[ubuntu18.04]维护mysql_第3张图片
输入 0

2.3.3 设置密码

在这里插入图片描述

  • 输入密码

在这里插入图片描述

  • 输入y

2.3.4 删除匿名用户

[ubuntu18.04]维护mysql_第4张图片

  • 输入y

2.3.5 远程登录

[ubuntu18.04]维护mysql_第5张图片

  • 输入n(允许远程登录)

2.3.6 测试数据库

[ubuntu18.04]维护mysql_第6张图片

  • 输入 y

2.3.7 重载特权表

在这里插入图片描述

  • 输入y

2.4 登录mysql

mysql -uroot -p
> 输入密码

可以看到:
在这里插入图片描述
注:ubuntu18.04 server版和desktop安装mysql的方式一样

3 mysql服务管理

命令 说明
service mysql stop 停止服务
service mysql start 开启服务
service mysql restart 重启服务

4 mysql的配置文件


basedir = /usr/				# 安装位置
datadir = /var/lib/mysql	# 数据库存储位置
port = 3306					# 端口
bind-adress = 127.0.0.1		# 绑定地址,如果填127.0.0.1 只能从本机连接
max_connections = 100		# 最大连接数
slow_query_log = 1			# 1表示开启慢查询记录功能
slow_query_log_file = slow.log	# 慢查询记录文件
long_query_time = 2			# 超过2秒的为慢查询
innodb_buffer_pool_size = 3G	# 默认引擎缓存,如果是专门的mysql服务器,这是为服务器总内存的70%

mysql文件地址

vi /etc/mysql/my.cnf

[ubuntu18.04]维护mysql_第7张图片
注:红色框是包含引用配置文件夹,所以真实的配置文件在

vi /etc/mysql/mysql.conf.d/mysqld.cnf

5 查看mysql信息

5.1 运行状态

mysql -uroot -p
>输入密码
status

[ubuntu18.04]维护mysql_第8张图片

命令 说明
Threads:1 线程数1
Questions:5 查询次数
Slow queries:0 慢查询次数
Queries per second avg:0.006 平均每秒的查询次数

5.2 最大连接数

show variables like 'max_connections';

[ubuntu18.04]维护mysql_第9张图片

  • 当前最大连接数:151

5.3 当前连接数

show global status like 'max_used_connections';

[ubuntu18.04]维护mysql_第10张图片

  • 当前的连接数:1

5.4 缓存大小

show variables like 'innodb_buffer_pool_size';

[ubuntu18.04]维护mysql_第11张图片

5.5 查看增删改查条数

show status like 'innodb_rows_%';

[ubuntu18.04]维护mysql_第12张图片

6 导出与导入数据库

先创建一个test数据库,并在里面创建一个user表,并插入数据

create database test;

create table t_user ( 
	id int primary key auto_increment,
	username varchar(50)
);

insert into t_user (username) value ('name1');

6.1 导出

格式:

  • mysqldump -uroot -p 【数据库名】 > 【导出sql地址】

把test数据库导出

mysqldump -uroot -p test > test.sql
> 输入密码

6.2 导入

流程:

  • 创建一个数据库
  • 把sql导入到数据库中

格式:

  • mysql -uroot -p 【数据库名】 < 【导入sql地址】

例如:

  • 创建test2数据库
mysql -uroot -p
>输入密码
create database test2;
exit;
  • 导入test.sql
mysql -uroot -p test2 < test.sql

7 配置远程连接

7.1 修改配置文件

vi /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉:bind-address = 127.0.0.1
(如果有这个配置,mysql只能本机访问)
[ubuntu18.04]维护mysql_第13张图片

7.2 设置权限

进入到mysql:

grant all on *.* to root@"%" identified by "kzlKNIGHT_123";

命令说明:

  • all 表示所有的权限,例如可以仅仅设置查的权限:select
  • *.* 第一个*表示任意数据库,第二个*表示任意表
  • to 后面的为哪个用户设置权限
  • @后写可以连接的IP地址,%表示任何IP
  • identified by “密码”

注:

  • validate_password_policy的默认值是1,需要8位,包括大小写字母、特殊字符、数字才可以。
  • 设置validate_password_policy=0
    • 命令:set global validate_password_policy=0;
    • 这样密码只需要8位即可,但由于安全问题,不推荐
  • 最后结尾一定要重启服务 service mysql restart

7.3 查看权限

use mysql
select host,user from user;

[ubuntu18.04]维护mysql_第14张图片
注意:

  • 上面的root和下面的root不是一个
  • host是localhost表示只能本机登录

7.4 流程总结

  1. vi /etc/mysql/mysql.conf.d/mysqld.cnf,注释掉bind-address
  2. 登录mysql,添加用户及权限,例如:grant all on . to root@"%" identified by “kzlKNIGHT_123”;
  3. 重启服务,service mysql restart

你可能感兴趣的:(运维)