一、安装必备工具
sudo apt-get install make bison g++ build-essential libncurses5-dev cmake ncurses-devel
二、设置用户、用户组和目录权限
sudo groupadd mysql
sudo useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql
用户直接登录系统
sudo mkdir –p /usr/local/mysql #创建Mysql安装目录
sudo mkdir -p /usr/local/mysql/data
sudo mkdir -p /usr/local/mysql/log
sudo chown -R mysql:mysql /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql
三、编译安装
sudo tar -zxvf mysql-5.6.28.tar.gz
cd mysql-5.6.28/
sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_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=/usr/local/mysql/data -DMYSQL_USER=mysql -DWITH_DEBUG=0
sudo make -j4 #-j数字 表示以多核心运行
sudo make install
四、 配置开机启动
sudo chmod +w /usr/local/mysql
sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
sudo chmod 755 /etc/init.d/mysqld
五、常用命令软连接,设置环境变量
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
六、初始化数据库
sudo /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
七、启动数据库
sudo /etc/init.d/mysqld start
八、启动成功后创建root用户密码
mysqladmin -u root password
一些编译参数如下:根据需要选择吧。
CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,
MEMBER以及CSV四种引擎默认即被编译至服务器,
不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
SYSCONFDIR:初始化参数文件目录
MYSQL_DATADIR:数据文件目录
MYSQL_TCP_PORT:服务端口号,默认3306
MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock