Linux下mysql的源码编译安装

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 

猜你喜欢

转载自blog.csdn.net/qq_35224639/article/details/80609432