首页 > 代码库 > mysql-5.5.32安装和最小化调优

mysql-5.5.32安装和最小化调优

yum -y install cmake
yum -y install ncurses-devel
yum -y install gcc-c++
useradd -M -u 8001 -s /sbin/nologin mysql
mkdir /data
tar -xvf mysql-5.5.32.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.5.32
通过cmake的方式进行安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -
DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data -
DMYSQL_USER=mysql

参数说明:
-DCMAKE_INSTALL_PREFIX 数据文件存放目录
-DMYSQL_UNIX_ADDR sock文件路径
-DDEFAULT_CHARSET 默认字符集
-DDEFAULT_COLLATION 默认字符校对
-DWITH_EXTRA_CHARSETS 扩展字符支持 默认all
-DWITH_storage_STORAGE_ENGINE 存储引擎的支持,默认支持MyISAM,MERGE,MEMORY,CVS存储引擎
-DENABLED_LOCAL_INFILE=1 启用加载本地数据
-DMYSQL_DATADIR 数据存放目录
-DMYSQL_USER mysql运行用户
扩展:
-DWITH_PARTITION_STORAGE_ENGINE=1 支持分区表
-DINSTALL_LIBDIR=dir_name
-DSYSCONFDIR=dir_name The default my.cnf option file directory

make -j 4 && make install

chown -R mysql:mysql /usr/local/mysql/
chown –R mysql:mysql /data
chmod 1777 /tmp


cp /usr/local/src/mysql-5.5.32/support-files/my-large.cnf /etc/my.cnf 复制配置文件
vim /etc/my.cnf 找到mysqld这个位置添加datadir = /data

编译安装完成之后不能直接执行mysql这条命令,所以需要将/usr/local/mysql/bin 这个目录里面的可执行文件加入到环境变量中去,这样就能够执行mysql这些命令

echo ‘export PATH=/usr/local/mysql/bin:$PATH‘>> /etc/profile
source /etc/profile

cp /usr/local/src/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data

chkconfig --add mysqld
chkconfig mysqld on

初始化数据库
chmod +x /usr/local/src/mysql-5.5.32/scripts/mysql_install_db
/usr/local/src/mysql-5.5.32/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql
看到两个OK,表示数据库初始化成功

启动数据库
service mysqld start

安全初始化数据库
mysql_secure_installation
禁止终端用户远程连接的意思是禁止终端用户通过root@192.168.1.110这种方式进行登录数据库,防止拖库,我们通过ssh远程服务器登录进数据库,相当于是从本地登录进数据库的。
delete from mysql.user;
grant all privileges on *.* to system@‘localhost‘ identified by ‘123456‘ with grant option; 创建一个root用户一样的用户名字是system 密码是123456

最小化安全调优继续做后面几步
select user,host from msql.user;
delete from mysql.user where user=‘‘;
delete from mysql.user where host=‘zyg.com‘;
delete from mysql.user where host=‘::1‘;
select user,host from mysql.user;
或是直接暴力点将所有的用户都进行删除,然后重新建立用户,因为mysql的root是个众所周知的用户名
delete from mysql.user;
grant all privileges on *.* to system@‘localhost‘ identified by ‘123456‘ with grant option;
flush privileges;

show database;
use mysql;
show tables;
select * from ‘table‘;

 

mysql-5.5.32安装和最小化调优