mysql 源码安装

[root@yu ~]# tar -xf mysql-5.5.32.tar.gz 

添加用户

[root@yu mysql-5.5.32]# useradd -u 8001 -s /sbin/nologin mysql

[root@yu mysql-5.5.32]# mkdir /data

安装依赖包

[root@yu mysql-5.5.32]# yum install cmake -y

[root@yu mysql-5.5.32]#  yum install ncurses-devel –y

[root@yu mysql-5.5.32]# 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

[root@yu mysql-5.5.32]# make -j 4 && make install

参数说明:

-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

[root@yu mysql-5.5.32]# chown -R mysql:mysql  /usr/local/mysql/

[root@yu mysql-5.5.32]# chown -R mysql:mysql /data

[root@yu mysql-5.5.32]# chmod 1777 /tmp

 [root@yu mysql-5.5.32]# cp support-files/my-large.cnf /etc/my.cnf

[root@yu mysql-5.5.32]# vim /etc/my.cnf 

添加一个数据字段。

设置环境变量

[root@yu mysql-5.5.32]#  echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile

[root@yu mysql-5.5.32]# source !$

创建服务启动脚本,添加开机启动

[root@yu mysql-5.5.32]# cp support-files/mysql.server /etc/init.d/mysqld

[root@yu mysql-5.5.32]# chmod +x /etc/init.d/mysqld

[root@yu mysql-5.5.32]# vim /etc/init.d/mysqld

    basedir=/usr/local/mysql  MySQL安装目录

      datadir= /data   数据存放目录

开机启动

[root@yu mysql-5.5.32]# chkconfig mysqld on 

初始化数据库

[root@yu mysql-5.5.32]# chmod +x scripts/mysql_install_db

[root@yu mysql-5.5.32]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql

启动mysqld

[root@yu mysql-5.5.32]# service mysqld start
Starting MySQL... SUCCESS!

配置初始化,设置root密码,禁止root远程登录,禁止匿名用户登录等,全选y。

[root@yu mysql-5.5.32]# mysql_secure_installation

备注:删除所有用户,添加一个相当于管理员的用户。

[root@yu mysql-5.5.32]# mysql -uroot -p

mysql> delete from mysql.user; 

  mysql> grant all privileges on *.* to system@'localhost' identified by '123456' with grant option;

  mysql> flush privileges;

mysql> select user,host from mysql.user;

mysql> exit

如果报错:

 干掉mysql进程

 pkill mysqld

 rm -rf  /data/*

    重新初始化

原文地址:https://www.cnblogs.com/yuguangyuan/p/5970021.html