(1)安装编译源码需要的包
sudo apt-get install make cmake gcc g++ bison libncurses5-dev
2 解压mysql的gz包
3 tar -xvf .gz
编译配置: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DCOMPILATION_COMMENT="lq-edition"-DENABLE_DTRACE=1 -DOPTIMIZER_TRACE=1 -DWITH_DEBUG=1 编译: make 安装: sudo make install
配置MySQL
(1)新建运行Mysql的用户和组
sudo groupadd mysql
sudo useradd -g mysql mysql
(2)设置Mysql安装目录的权限
cd /usr/local/mysql
sudo chown -R mysql:mysql ./
(3)建立配置文件
cp support-files/my-default.cnf /etc/my.cnf
sudo chown mysql:mysql /etc/my.cnf
源码包中拷贝errmsg.sys到这个目录,否则初始化数据库的时候会报错
cp /web/mysql-5.6.26/sql/share/english/errmsg.sys /usr/share/mysql/errmsg.sys
(4) vi /etc/my.cnf
[client] port = 3306 socket = /usr/local/mysql/data/mysql.sock [mysqld_safe] socket = /usr/local/mysql/data/mysql.sock nice = 0 [mysqld] user = mysql pid-file = /usr/local/mysql/data/mysqld.pid socket = /usr/local/mysql/data/mysql.sock port = 3306 basedir = /usr/local/mysql datadir = /usr/local/mysql/data tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 myisam-recover = BACKUP query_cache_limit = 1M query_cache_size = 16M log_error = /var/log/mysql/error.log expire_logs_days = 10 max_binlog_size = 100M [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
(5)初始化数据库
cd /usr/local/mysql
sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
(6)启动mysql服务
方法1: 直接启动 bin/mysqld_safe & 检查MySQL服务是否启动: ps -ef |grep mysql 方法2: 通过服务启动 添加服务,复制启动脚本到/etc/init.d目录: cd /usr/local/mysql/ cp support-files/mysql.server /etc/init.d/mysql 设置文本的权限: sudo chmod 755 /etc/init.d/mysql 启动: sudo /etc/init.d/mysql start (关闭mysql服务:sudo /etc/init.d/mysql stop) 或者 sudo service mysql start (关闭mysql服务:sudo service mysql stop) 检查MySQL服务是否启动: ps -ef |grep mysql
(7)配置环境变量
为了直接调用mysql,需要将mysql的bin目录加入PATH环境变量。
编辑/etc/profile文件:
sudo vim /etc/profile
在文件最后 添加如下两行:
PATH=$PATH:/usr/local/mysql/bin
export PATH
关闭文件,运行下面的命令,让配置立即生效:
source /etc/profile
(8)修改root密码(因为默认密码为空)
mysql -h127.0.0.1 -uroot -p
update mysql.user set password=password("root") where user='root';
flush privileges;
参考: http://www.linuxdiyf.com/linux/14453.html