CentOS 6.x下的MySQL安装、配置与使用

MySQL简介

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。

  • 因为MySQL使用数据库访问的标准化语言 —— SQL语言,且它具有体积小、速度快、开源等特点,所以一般中小型网站的开发都选择MySQL作为网站数据库。

MySQL安装

  • 根据Linxu发行版下载MySQL的yum源,也可以直接通过wget来下载。
# CentOS6或Red Hat6
wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
  • 安装MySQL的yum源。
# 方式一:通过rpm
rpm -Uvh mysql57-community-release-el6-11.noarch.rpm
# 方式二:通过yum localinstall
yum -y localinstall mysql57-community-release-el6-11.noarch.rpm
  • 检查MySQL的yum源是否安装成功。
yum repolist enabled | grep "mysql.*-community.*"
  • 利用yum来安装MySQL,并随后检测是否安装成功。
# 安装MySQL
yum -y install mysql-community-server
# 是否安装成功
rpm -qa | grep mysql
  • 修改MySQL的默认配置文件/etc/my.cnf为如下内容。
[mysqld]
explicit_defaults_for_timestamp=true

datadir=/var/lib/mysql/
socket=/var/lib/mysql/mysql.sock
user=mysql 

symbolic-links=0

default-storage-engine=InnoDB 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
  • 初始化MySQL:mysqld --initialize --user=mysql

  • MySQL的启动、停止、重启、自启动等操作。

# CentOS7及其以上
systemctl start|stop|restart|enable mysqld
# CentOS7以下
service mysqld start|stop|restart|reload
chkconfig mysqld on

MySQL账号

默认root账号

  • MySQL5.7初始化完,默认会生成账号root,其临时密码位于错误日志/var/log/mysqld.log中。
A temporary password is generated for root@localhost: #dol!(gpM7pg
  • mysql -u root -p并输入上面的临时密码,登入mysql。

  • 修改账号root的密码。

mysql > set password for root@localhost=password('新密码');
  • MySQL中的每个账号都是由user和host组成,格式为user@host,user表示用户名,host表示此用户能访问MySQL的ip限制。

    默认生成的root账号为root@localhost。于是,只能在ip为127.0.0.1(即本地)使用root访问MySQL。

    若host为%,表示允许任何ip访问。

创建账号

  • 创建一个日常使用的可本地或远程登录MySQL的账号。
# 创建账号daking
mysql > create user 'daking'@'%' identified by 'daking';
# 给daking赋予权限
mysql > grant all privileges on *.* to 'daking'@'localhost' identified by 'daking';
mysql > grant all privileges on *.* to 'daking'@'%' identified by 'daking';
# 刷新MySQL权限
mysql > flush privileges;
# 给daking设置密码
mysql > set password for daking@localhost=password('本地登录的密码');
mysql > set password for daking@'%'=password('远程登录的密码');

其他

  • 查看MySQL的所有账号。
mysql > select user,host from mysql.user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| daking    | %         |
| mysql.sys | localhost |
| daking    | localhost |
| root      | localhost |
+-----------+-----------+

MySQL配置

防火墙配置

  • 添加iptables的配置,并重启iptables。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

默认存储引擎

  • 在MySQL配置文件(如/etc/my.cnf)中的[mysqld]节点下添加default-storage-engine=InnoDB,并重启MySQL。

  • 查看MySQL的引擎。

mysql > show engines; 

统一utf8字符集

  • 修改MySQL的配置文件,如/etc/my.cnf
[mysqld]
character_set_server=utf8
collation-server=utf8_general_ci

[client] 
default-character-set=utf8
  • 检测编码是否设置成功。
mysql > show variables like 'character%';

你可能感兴趣的:(CentOS 6.x下的MySQL安装、配置与使用)