1>【安装依赖包】
yum -y install make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel
2>【解压mysql的源码安装包到mysql_install_src目录下】
cd /usr/local/mysql_install_src/
tar -zxvf mysql-boost-5.7.11.tar.gz
3>【创建mysql组和用户】
groupadd mysql #创建mysql组
useradd -g mysql mysql #创建mysql组中的mysql用户
4>【创建mysql的默认安装目录和数据存储目录】
#创建默认安装目录
mkdir /usr/local/LAMP/mysql
#创建数据存储目录
mkdir /usr/local/LAMP/mysql/data
5>【将第4步中创建的目录的所有者权限赋给mysql组和mysql用户,并赋予相应权限】
chown -R mysql:mysql /usr/local/LAMP/mysql
chown -R mysql:mysql /usr/local/LAMP/mysql/data
chmod 750 /usr/local/LAMP/mysql
6>【编译并安装mysql】
cd /usr/local/mysql_install_src/mysql-5.7.11
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/LAMP/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make
make install
7>【修改环境变量,让我们在任意目录下都可以使用mysql和mysqld命令】
vim /etc/profile # 在profile文件末尾增加两行
PATH=/usr/local/LAMP/mysql/bin/:/usr/local/LAMP/mysql/lib:$PATH
export PATH
# 退出并保存profile
# 使PATH搜索路径立即生效:
source /etc/profile
注意:如果以前的PATH有内容,则只需在其原有内容后面添加一个冒号,再添加/usr/local/LAMP/mysql/bin/:/usr/local/LAMP/mysql/lib:
export也不用改变(一般装完java后会因配置环境变量而出现这种情况)
8>【添加命令到系统中】
#复制启动脚本到init.d下
cp /usr/local/LAMP/mysql/support-files/mysql.server /etc/init.d/mysqld
#增加执行权限
chmod 755 /etc/init.d/mysqld
#创建mysql命令文件
ln -s /mysql/bin/mysql /usr/bin/
注:没有这个文件就没有mysql命令,不能在任意位置使用mysql/bin下的各种命令访问数据库
9>【初始化数据库】
/usr/local/LAMP/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/LAMP/mysql/ --datadir=/usr/local/LAMP/mysql/data
!!!!!!注:初始化后会生成默认密码,千!万!要!记!录!下!来!。[Note] A temporary password is generated for root@localhost: kci!&aa?s8wE
10>【启动mysql】
/usr/local/LAMP/mysql/bin/mysqld_safe --user=mysql &
执行完该命令后会出现如下提示信息,该提示信息无法关闭。
mysqld_safe Starting mysqld daemon with databases from /usr/local/LAMP/mysql/data
等待一会后,再开启一个终端登录root用户
11>【在新开启的终端上登录mysql】
mysql -u root -p
回车后提示输入密码,输入上面记录下的密码即可。
12>【修改mysql默认密码】
#将MyNewPass替换为你要更改的密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
#修改密码之后需要执行该语句才会保存。
flush privileges;
#退出mysql
quit
#重启mysqld后才会使重置的密码生效
service mysqld restart