目录
- 一、简介
- 二、安装
-
- ❶ 创建MySQL用户组及用户账号
- ❷本地上传MySQL文件到服务器
- ❸采用二进制方式安装MySQL
- 三、配置
-
- ❶初始化配置文件
- ❷初始化数据库文件
- ❸配置启动脚本
- ❹启动与关闭
- ❺检查是否启动
- ❻查看错误日志
- ❼设置开机启动
- ❽配置全局启动
- ❾登录测试
- 四、安全
-
- 参考
一、简介
- 类型:一种开源的关系型数据库
- 特点:将数据保存在不同的二维表中,将表放入不同的数据库中
- 语言:管理及访问使用SQL结构化查询语言
- 优点:性能卓越、服务稳定、社区活跃、易于维护、多端可用
二、安装
❶ 创建MySQL用户组及用户账号
- 创建用户组
groupadd mysql
- 创建用户
useradd -s /sbin/nologin -g mysql -M mysql
-s /sbin/nologin
不允许登录终端
-g mysql
mysql用户属于mysql组
-M mysql
不创建用户家目录
- 检查用户及用户组是否创建成功
tail -1 /etc/passwd
及id mysql
- 关键文件锁定解锁
songcha
[root@www ~]
[root@www ~]
[root@www ~]
[root@www ~]
mysql:x:502:502::/home/mysql:/sbin/nologin
[root@www ~]
uid=502(mysql) gid=502(mysql) 组=502(mysql)
[root@www ~]
❷本地上传MySQL文件到服务器
- 文件传输
rz
:本地→服务器
- 文件传输
sz
:服务器→本地
[root@www ~]
[root@www tools]
-bash: rz: command not found
[root@www tools]
[root@www tools]
rz waiting to receive.
zmodemCtrl+Cȡ
传输mysql-5.5.32-linux2.6-x86_64.tar.gz ...
100% 182346 KB 10726 KB/ 00:00:17 0
❸采用二进制方式安装MySQL
- 解压
tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
- 移动重命名
mv mysql-5.5.32-linux2.6-x86_64 /application/mysql
- 软链接
ln -s /application/mysql-5.5.32 /application/mysql
,便于版本管理
[root@www tools]
[root@www tools]
[root@www application]
[root@www application]
略
├── mysql
略
│ ├── mysql-5.5.32 -> /application/mysql-5.5.32/
略
三、配置
❶初始化配置文件
- 配置样例
application/mysql/support-files/*.cnf
/bin/cp
:拷贝而不出现替换提示,如果重名直接覆盖
- 测试环境,选用
my-small.cnf
- MySQL数据库配置文件模版说明:
配置模板 |
说明 |
my-huge.cnf |
用于高端产品服务器,包括1到2GB RAM,主要运行mysql |
my-innodb-heavy-4G.ini |
用于只有innodb的安装,最多有4GB RAM,支持大的查询和低流量 |
my-large.cnf |
用于中等规模的产品服务器,包括大约512M RAM |
my-medium.cnf |
用于低端产品服务器,包括很少内存(少于128M) |
my-small.cnf |
用于最低设备的服务器,只有一点内存(少于512M) |
[root@www application]
[root@www mysql]
-rw-r--r--. 1 7161 wheel 4691 6月 19 2013 support-files/my-huge.cnf
-rw-r--r--. 1 7161 wheel 19759 6月 19 2013 support-files/my-innodb-heavy-4G.cnf
-rw-r--r--. 1 7161 wheel 4665 6月 19 2013 support-files/my-large.cnf
-rw-r--r--. 1 7161 wheel 4676 6月 19 2013 support-files/my-medium.cnf
-rw-r--r--. 1 7161 wheel 2840 6月 19 2013 support-files/my-small.cnf
[root@www mysql]
❷初始化数据库文件
- 创建数据文件目录
mkdir -p /application/mysql/data
- 授权用户管理
chown -R mysql.mysql /application/mysql/
[root@www mysql]
[root@www mysql]
- 初始化数据库文件
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
- 分别为:
- 初始化脚本
/application/mysql/scripts/mysql_install_db
- 主路径
--basedir=/application/mysql
- 数据
--datadir=/application/mysql/data
- 用户
--user=mysql
[root@www mysql]
Installing MySQL system tables...
OK
Filling help tables...
OK
略
Please report any problems with the /application/mysql/scripts/mysqlbug script!
[root@www mysql]
./data/
├── mysql
├── performance_schema
└── test
3 directories, 0 files
❸配置启动脚本
- 拷贝MySQL启动脚本到MySQL的命令路径
cp support-files/mysql.server /etc/init.d/mysqld
- 赋予可执行权限
chmod +x /etc/init.d/mysqld
[root@www mysql]
[root@www mysql]
- MySQL二进制默认安装路径:
/usr/local/mysql
- MySQL现在安装路径:
/application/mysql
- 启动脚本里的
/usr/local/mysql
路径都需要替换
sed -i 's/原字符串/新字符串/g' 文本
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
mysqld_safe
是mysqld
的守护进程,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。
[root@www mysql]
❹启动与关闭
- 启动MySQL数据库
/etc/init.d/mysqld start
[root@www mysql]
Starting MySQL.. SUCCESS!
[root@www mysql]
- 关闭MySQL数据库
/etc/init.d/mysqld stop
[root@www mysql]
[root@www mysql]
[root@www mysql]
❺检查是否启动
- 检查数据库是否已经启动
netstat -lntup | grep mysql
- netstat命令用于查看网络连接,路由表,网络接口统计数据, 虚拟连接等信息。
[root@www mysql]
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1997/mysqld
❻查看错误日志
- 查看启动结果日志
tail -10 /application/mysql/data/www.err
[root@www mysql]
❼设置开机启动
- 设置MySQL 开机自起动
chkconfig
命令用于检查,设置系统的各种服务
[root@www mysql]
[root@www mysql]
[root@www mysql]
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
❽配置全局启动
- 全局环境变量
/etc/profile
- 配置MySQL全局环境变量
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
- 配置直接生效
source /etc/profile
- 查看路径
echo $PATH
- 如果不配置全局环境变量,则只能像
/application/mysql/bin/mysql show databases;
这样带着路径的方式敲命令。
[root@www mysql]
[root@www mysql]
unset i
unset -f pathmunge
export PATH=/application/mysql/bin:$PATH
[root@www mysql]
[root@www mysql]
/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
❾登录测试
- 登录测试
mysql
- 不配置mysql的全局路径,启动需用命令
/application/mysql/bin/mysql
[root@www mysql]
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32 MySQL Community Server (GPL)
略
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
四、安全
❶设置用户密码
- 更改默认密码
mysqladmin -u root password 'xxxx'
- 用户密码认证登录
mysql -uroot -p
[root@www mysql]
[root@www mysql]
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
略
❷清理无用用户及库
user |
host |
选项 |
root |
127.0.0.1 |
保留 |
root |
::1 |
清理 |
|
localhost |
清理 |
root |
localhost |
保留 |
|
www.svc1.com |
清理 |
root |
www.svc1.com |
清理 |
mysql> select user,host from mysql.user;
+------+--------------+
| user | host |
+------+--------------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | www.svc1.com |
| root | www.svc1.com |
+------+--------------+
6 rows in set (0.00 sec)
mysql> drop user "root"@"::1";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user " "@"localhost";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user " "@"www.svc1.com";
Query OK, 0 rows affected (0.00 sec)
mysql> drop user "root"@"www.svc1.com";
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
mysql>
参考
1、mysql配置模板(my-*.cnf)参数详细说明
2、mysqld_safe与mysqld区别(转载)
3、netstat