Mysql初始安装及配置

概述

这里是同事分享的mysql课程的笔记,中间加入了一些自己网上找来的东西,按照自己的想法弄了这篇博客。

环境

系统环境:centos6.5 cat /etc/centos-relese
数据库版本:mysql5.5(通过remi源安装)

安装

CentOS6.5(试验环境)

yum install mysql-server --enablerepo=remi

Ubuntu(默认版本为5.5)

apt-get install mysql-server

源码安装
官方下载链接
http://dev.mysql.com/downloads/mysql/5.5.html#downloads

./configure  #进入到下载的源文件中,首先要解压缩
make && make install

修改配置文件

默认的配置文件位置在/etc/my.cnf,默认配置文件过于简单在实际使用中先对其进行一定的修改。

参数名含义
bind-address监听ip
port监听端口
character_set_server默认字符集(建议utf8)
max_connect_errors最大允许错误次数(并非指密码错误,而是访问协议不正确之类的,如果某个IP错误次数达到该阈值,则被屏蔽)
max_connections最大连接数(能同时访问server的连接个数,如果达到该阈值,则不能再连接到server)
datadir数据保存目录
log-error错误日志保存路径
skip_name_resolve跳过域名解析(可加快client连接速度)
back_log创建TCP连接时,允许的最大同时未完成的连接个数(主要适用于短连接场景)
log-binBinlog的保存路径
binlog-formatBinlog写入格式,共有ROW/STATEMENT/MIXED三种可选。一般使用MIXED。
expire_logs_daysBinlog保留时间(单位:天)

这里采用的配置文件(在mysqld下添加如下内容)

bind-address = 10.19.96.184
port = 3306
character_set_server = utf8
max_connect_errors = 1000000
max_connections = 500
datadir = /data/mysql
log-error = /var/log/mysql/mysql-error.log
skip_name_resolve
back_log = 2000
log-bin = /data/mysql
binlog-format = MIXED
expire_logs_days = 3

如果datadir/log-error/log-bin等对应目录需要确保已创建,并且权限为mysql所有。例如,

mkdir -p /data/mysql && chown -R mysql.mysql /data/mysql
mkdir -p /var/log/mysql && chown -R mysql.mysql /var/log/mysql

配置完成,启动mysql:

/etc/init.d/mysqld start
或者
service mysqld start

权限设置

执行select * from mysql.user; 可以查看到当前的所有用户。

结果集中的几个关键字段:
Host——对应的允许访问域(%表示全域,192.168.%.%表示对应账号对该段均可访问,192.168.8.100表示对应账号仅这台机器可访问)
User——用户名
Password——密码加密串
xxx_priv——各种权限

用户权限管理

mysql -u root -p # 1、以管理员身份登录mysql

use mysql # 2、选择mysql数据库

create user 'testuser'@'localhost' identified by 'testpassword' #3、创建用户并设定密码

flush privileges #4、使操作生效

create database testdb #5、为用户创建数据库

grant all privileges on testdb.* to test@localhost identified  by '1234' #6、为用户赋予操作数据库testdb的所有权限

flush privileges #7、使操作生效

mysql -u test -p #8、用新用户登录

如果当前账号拥有所有权限,可用最简单的新增用户并授权:

grant all on *.* to `root`@`%` identified by '123456' with grant option;

其中with grant option表示新增的该账号是否有grant权限,即是否可以通过其创建新账号。
非常不建议给用户开放全部权限,最好给新用户仅开放所需要的相关权限

导入测试用数据库

wget https://launchpadlibrarian.net/24493586/employees_db-full-1.0.6.tar.bz2

tar -xjf employees_db-full-1.0.6.tar.bz2 

cd employees_db

mysql -u root -p < employees.sql

练习 ###

设置权限, 要求如下:
1. root账号仅能从本地以及特定机器访问
2. 创建一个test账号,允许所有机器访问

mysql> grant all on *.* to `root`@`localhost` identified by '123456' with grant option;

mysql> grant all on *.* to `test`@`%` identified by '123456' with grant option;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值