1.2 MySQL二进制方式安装配置

目录

  • 一、简介
  • 二、安装
    • ❶ 创建MySQL用户组及用户账号
    • ❷本地上传MySQL文件到服务器
    • ❸采用二进制方式安装MySQL
  • 三、配置
    • ❶初始化配置文件
    • ❷初始化数据库文件
    • ❸配置启动脚本
    • ❹启动与关闭
    • ❺检查是否启动
    • ❻查看错误日志
    • ❼设置开机启动
    • ❽配置全局启动
    • ❾登录测试
  • 四、安全
    • ❶设置用户密码
    • ❷清理无用用户及库
  • 参考


一、简介

1.2 MySQL二进制方式安装配置_第1张图片

  • 类型:一种开源的关系型数据库
  • 特点:将数据保存在不同的二维表中,将表放入不同的数据库中
  • 语言:管理及访问使用SQL结构化查询语言
  • 优点:性能卓越、服务稳定、社区活跃、易于维护、多端可用

二、安装

❶ 创建MySQL用户组及用户账号

  • 创建用户组groupadd mysql
  • 创建用户useradd -s /sbin/nologin -g mysql -M mysql
  • -s /sbin/nologin 不允许登录终端
  • -g mysql mysql用户属于mysql组
  • -M mysql不创建用户家目录
  • 检查用户及用户组是否创建成功tail -1 /etc/passwdid mysql
  • 关键文件锁定解锁songcha
[root@www ~]# songcha -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
[root@www ~]# groupadd mysql
[root@www ~]# useradd -s /sbin/nologin -g mysql -M mysql
[root@www ~]# tail -1 /etc/passwd
mysql:x:502:502::/home/mysql:/sbin/nologin
[root@www ~]# id mysql
uid=502(mysql) gid=502(mysql)=502(mysql)
[root@www ~]# songcha +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

❷本地上传MySQL文件到服务器

  • 文件传输rz :本地→服务器
  • 文件传输sz :服务器→本地
[root@www ~]# cd /home/centos/tools
[root@www tools]# rz
-bash: rz: command not found
[root@www tools]# yum install lrzsz -y
[root@www tools]# rz
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]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@www tools]# mv mysql-5.5.32-linux2.6-x86_64 /application/mysql
[root@www application]# ln -s /application/mysql-5.5.32 /application/mysql
[root@www application]# tree -L 2
略
├── 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]# cd ./mysql
[root@www mysql]# ls -l support-files/*.cnf
-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]# /bin/cp support-files/my-small.cnf /etc/my.cnf

❷初始化数据库文件

  • 创建数据文件目录mkdir -p /application/mysql/data
  • 授权用户管理chown -R mysql.mysql /application/mysql/
[root@www mysql]# mkdir -p /application/mysql/data
[root@www mysql]# chown -R mysql.mysql /application/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]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
略
Please report any problems with the /application/mysql/scripts/mysqlbug script!
[root@www mysql]# tree -L 1 ./data/
./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]# cp support-files/mysql.server /etc/init.d/mysqld
[root@www mysql]# chmod +x /etc/init.d/mysqld
  • 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_safemysqld的守护进程,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。
[root@www mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

❹启动与关闭

  • 启动MySQL数据库/etc/init.d/mysqld start
#启动方法1:
[root@www mysql]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS! 
#启动方法2:后台执行MySQL服务,回车进入命令行状态
[root@www mysql]# /application/mysql/bin/mysqld_safe --user=mysql &
  • 关闭MySQL数据库/etc/init.d/mysqld stop
# 常用关闭方法
[root@www mysql]# /etc/init.d/mysqld stop
#mysqladmin方式
[root@www mysql]# mysqladmin -u‘root’ -p'password' shutdown
# 强制关闭方法
[root@www mysql]# killalll mysqld

❺检查是否启动

  • 检查数据库是否已经启动netstat -lntup | grep mysql
  • netstat命令用于查看网络连接,路由表,网络接口统计数据, 虚拟连接等信息。
[root@www mysql]# netstat -lntup | grep 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]# tail -10 /application/mysql/data/www.err

❼设置开机启动

  • 设置MySQL 开机自起动
  • chkconfig命令用于检查,设置系统的各种服务
[root@www mysql]# chkconfig --add mysqld
[root@www mysql]# chkconfig mysqld on
[root@www mysql]# chkconfig --list mysqld
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]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@www mysql]# tail -3 /etc/profile
unset i
unset -f pathmunge
export PATH=/application/mysql/bin:$PATH
[root@www mysql]# source /etc/profile
[root@www mysql]# echo $PATH
/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]# 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]# mysqladmin -u root password 'xxxx'
[root@www mysql]# mysql -uroot -p
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

你可能感兴趣的:(mysql,linux)