天天看点

mysql编译安装

 编译安装`

#下载5.6.36包

wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

1、更新安装epel源(下面是centos6的epel源)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

2、安装依赖软件包

yum install -y ncurses-devel libaio-devel

3、安装cmake

yum install -y cmake 

4、创建系统用户

useradd mysql -s /sbin/nologin -M

5、修改hosts文件,做解析

[root@db01 /server/tools]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.51     db01

6、解压源码包

cd /server/tools/

tar xg mysql-5.6.38.tar.gz

7、生成

切到指定目录

cd mysql-5.6.38

#程序存放位置

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \

#数据存放位置

-DMYSQL_DATADIR=/application/mysql-5.6.38/data \

#socket文件存放位置

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \

#使用utf8字符集

-DDEFAULT_CHARSET=utf8 \

#校验规则

-DDEFAULT_COLLATION=utf8_general_ci \

#使用其他额外的字符集

-DWITH_EXTRA_CHARSETS=all \

#支持的存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

#禁用的存储引擎

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

#启用zlib库支持(zib、gzib相关)

-DWITH_ZLIB=bundled \

#启用SSL库支持(安全套接层)

-DWITH_SSL=bundled \

#启用本地数据导入支持

-DENABLED_LOCAL_INFILE=1 \

#编译嵌入式服务器支持

-DWITH_EMBEDDED_SERVER=1 \

**# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。**

-DENABLE_DOWNLOADS=1 \

#禁用debug(默认为禁用)

-DWITH_DEBUG=0 

8、编译并安装

make && make install

9、检查编译结果

[root@db01 /server/tools/mysql-5.6.38]# echo $?

10、做软连接

ln -s /application/mysql-5.6.38/ /application/mysql

11、拷贝启动脚本及配置文件

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

mv /etc/my.cnf /tmp

cp /application/mysql/support-files/my-default.cnf /etc/my.cnf

12、进入mysql初始化脚本目录,初始化mysql

cd /application/mysql/scripts/

./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data 

13、授权

chown -R mysql.mysql /application/mysql-5.6.38/

chown -R mysql.mysql /application/mysql

14、给启动脚本授权700

chmod 700 /etc/init.d/mysqld

15、设置开机自启动

chkconfig mysqld on

16、创建socket文件目录(5.6.36版本不会自动创建tmp目录)

mkdir /application/mysql-5.6.38/tmp

17、添加环境变量(老师推荐)

echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh

source /etc/profile.d/mysql.sh

也可以下面的方式

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile

18、启动mysql

/etc/init.d/mysqld start

19、检查

[root@db01 /application/mysql/scripts]# lsof -i:3306

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

mysqld  20728 mysql   10u  IPv6  69193      0t0  TCP *:mysql (LISTEN) 

20、创建创建密码

mysqladmin -uroot password '123456'

4.3 mysql的基本优化(删除无用库以及用户)

drop database test;             #删除test库

drop user root@'db01';          #删除用户

drop user ''@'db01';

drop user root@'127.0.0.1';

drop user ''@'localhost';

drop user 'root'@'::1';

优化完成只留一下一个

mysql> select user,host,password from mysql.user;

+------+-----------+-------------------------------------------+

| user | host      | password                                  |

| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9