单实例Mysql数据库的安装(MySQL 5.6.19)
1、建立Mysql账号
root@mylab ~]# groupadd mysql
[root@mylab ~]# useradd -s /sbin/nologin -g mysql -M mysql
useradd参数说明:
-s /sbin/nologin 表示禁止该用户登录
-g mysql 指定属于mysql组
-M 表示不创建用户家目录
检查创建的用户
[root@mysql ~]# tail -1 /etc/passwd
mysql:x:500:500::/home/mysql:/sbin/nologin
2、配置安装环境
建立mysql软件存放目录、安装目录、数据目录
[root@mysql ~]# mkdir /home/tools# mysql软件存放目录
[root@mylab mysql-5.6.19]# mkdir -p /usr/local/mysql# mysql安装目录
[root@mylab mysql-5.6.19]# chown -R mysql:mysql /usr/local/mysql# 对安装授权
[root@mylab mysqldb]# mkdir -p /mysqldb/data# mysql数据目录
[root@mylab mysqldb]# chown -R mysql:mysql /mysqldb/data# mysql数据目录授权
需要提前安装的相关软件包
[root@mylab mysqldb]# yum install gcc gcc-c++ make cmake ncurses-devel bison perl
3、编译安装Mysql
解压
[root@mylab tools]# tar zxf mysql-5.6.19.tar.gz
[root@mylab tools]# cd mysql-5.6.19
配置
[root@mylab mysqldb]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ # 设定mysql安装路径,默认为/usr/local/mysql
-DMYSQL_DATADIR=/mysqldb/data/ \ # 设定mysql的数据文件存放位置
-DMYSQL_TCP_PORT=3306 \ # 设定mysql端口
-DDEFAULT_CHARSET=utf8 \ # 默认字符
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \ # 安装所有的字符集
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 支持InnoDB引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock # 指定Mysql socket文件存放路径
静态编译生成mysqld的执行文件
[root@mylab mysql-5.6.19]# make
安装mysql
[root@mylab mysql-5.6.19]# make install
4、获取mysql配置文件
[root@mylab mysql-5.6.19]# ll support-files/*.cnf
-rw-r--r-- 1 root root 1126 Sep 26 23:32 support-files/my-large.cnf
[root@mylab mysql-5.6.19]# /bin/cp support-files/my-large.cnf /etc/my.cnf Mysql默认配置文件路径
5、创建mysql数据库文件
[root@mylab mysql-5.6.19]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mysqldb/data --user=mysql# 安装mysql数据库文件
6、启动mysql数据库
[root@mylab mysql-5.6.19]# /usr/local/mysql/bin/mysqld_safe --user=mysql&
检查mysql数据库是否启动
[root@mylab mysql-5.6.19]# netstat -lnt|grep 3306
tcp 0 0 :::3306 :::* LISTEN
配置mysql命令全局使用路径:
[root@mylab mysql-5.6.19]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@mylab mysql-5.6.19]# source /etc/profile# 执行source,使上一行添加到/etc/profile中的内容直接生效
以上两条命令用途;定义mysql全局路径,实现在任意路径执行mysql命令
配置/etc/init.d/mysqld start方式启动数据库
[root@mylab mysql-5.6.19]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mylab mysql-5.6.19]# chmod 700 /etc/init.d/mysqld
[root@mylab mysql-5.6.19]# /etc/init.d/mysqld stop
Shutting down MySQL..140927 00:20:52 mysqld_safe mysqld from pid file /mysqldb/data/mylab.pid ended
[ OK ]
[1]+ Done /usr/local/mysql/bin/mysqld_safe --user=mysql
配置Mysql数据库开机启动:
[root@mylab mysql-5.6.19]# chkconfig --add mysqld
[root@mylab mysql-5.6.19]# chkconfig mysqld on
[root@mylab mysql-5.6.19]# chkconfig --list mysqld
mysqld 0:off1:off2:on3:on4:on5:on6:off
7、安装之后选项
为mysql root用户增加密码:
[root@mylab mysql-5.6.19]# mysqladmin -u root password 'redhat'
清理mysql多余的用户:
mysql> SELECT USER,HOST
-> FROM mysql.user;
+------+-----------+
| USER | HOST |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | mylab |
| root | mylab |
+------+-----------+
6 rows in set (0.00 sec)
mysql> DROP USER ""@LOCALHOST;# 删除localhost的空用户
Query OK, 0 rows affected (0.00 sec)
mysql> DROP USER ""@mylab;# 删除mylab的空用户
Query OK, 0 rows affected (0.00 sec)
mysql> DROP USER "root"@mylab;# 删除mylab的root用户
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT USER,HOST FROM mysql.user;
+------+-----------+
| USER | HOST |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)