21运维原创,转载请注明出处。
1,安装前期工作。创建mysql用户以及数据存放目录
groupadd mysql useradd -r mysql -g mysql -s /bin/false mkdir -p /data/mysql/ chown -R mysql.mysql /data/mysql/
安装依赖包:
apt-get install gcc-c++ ncurses-devel tcp_wrappers-devel bison-devel bison build-essential libncurses5-dev cmake openssl* -y
2,前期工作做完,,准备下载源码包编译安装和初始化。
到mysql官网http://dev.mysql.com/downloads/mysql/5.7.html下载通用源码安装包mysql 5.7.14,这里我们直接下载带有boost库的安装包,避免单独去下载boost耽误时间,之前没有从这里下载对应boost安装包,踩了一个巨大的坑。哎,血的教训!
cd /usr/local/src tar zxvf mysql-boost-5.7.14.tar.gz cd mysql-5.7.14/
编译参数如下
/usr/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_TCP_PORT=3306 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_SSL=system \ -DWITH_DEBUG=0 -DWITH_READLINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=./boost \ -DWITH_EMBEDDED_SERVER=OFF
执行完以后 make && make install
安装完成,设置环境变量,编辑/etc/profile
export PATH=/usr/local/mysql/bin:$PATH
设置以后需要source /etc/profile
数据库初始化:
将提前设置好的my.cnf放到/etc/my.cnf ,后续需要加载这个配置文件,最好提前优化好。
cd /usr/local/mysql mysqld --initialize --user=mysql #这一步会生成一个root密码 mysql_ssl_rsa_setup cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld 可以直接启动了:/etc/init.d/mysqld start
后台运行以后单独开一个窗口登录mysql并初始化mysql的root密码:
mysql -u root -p SET PASSWORD = PASSWORD('123456');
所有操作步骤完成。测试是否都成功可以如下操作:
/etc/init.d/mysqld restart mysql -u root -p12345
如果登录没问题则一切正常。
注:
1,如果root密码忘记,那么可以通过执行:
mysqld_safe --skip-grant-tables &;
这样再登录就可以空密码登录了。执行
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
可以修改root的密码。修改以后/etc/init.d/mysqld restart
注:如果登陆进去以后提示需要修改root密码,可以执行:
SET PASSWORD = PASSWORD('123456');
2, 如果能apt-get就apt-get,需要注意备份/etc/mysql/my.cnf 不然以后重装会覆盖。