单实例Mysql数据库编译安装

单实例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)


你可能感兴趣的:(编译安装单实例Mysql数据库)