编译安装mysql

MySQL 5.7编译安装

提示:下面的“#”不是命令的一部分,在输入命令的时候请忽略。

1、关闭SELinux并重启计算机

# vim /etc/selinux/config,然后找到SELINUX=enforcing,把enforcing改为permissive。接着保存并退出,然后重启电脑。

2、关闭防火墙

# service iptabels stop

3、安装必备的工具

# yum -y install gcc gcc-c++ make zlib openssl openssl-devel ncurses-devel cmake bison

4、下载boost库,这是MySQL 5.7必须的库,目前版本要求是1.59.0版本

将下载好的boost_1_59_0.tar上传到你的工作目录,我上传的目录是/root中。你可以使用pwd命令查看当前的路径。

5、解压boost_1_59_0.tar到/tmp目录。

# tar -xvzf boost_1_59_0.tar.gz && mv boost_1_59_0 /tmp

6、下载MySQL 5.7源码包并解压到工作目录

# tar -xvzf mysql-5.7.17.tar.gz && rm -f mysql-5.7.17.tar.gz && cd mysql-5.7.17

7、创建一些必要的用户、组和目录

# groupadd mysql

# useradd -g mysql mysql

# mkdir -p /usr/local/mysql/data && chown -R mysql:mysql /usr/local/mysql/data

8、现在你是处于mysql-5.7.17目录中,执行安装前环境检测,注意以下是一条命令而不是多条

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_READLINE=1 \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_BOOST=/tmp/boost_1_59_0 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

环境执行完请检查屏幕输出的最后5行左右是否有error字样,如果有请不要继续后面的步骤。

9、进行编译

# make

环境执行完请检查屏幕输出的最后5行左右是否有error字样,如果有请不要继续后面的步骤。

10、安装

# make install

到这里请关机,然后给虚拟机打个快照

11、配置mysql启动脚本

请使用pwd确保当前还是在mysql-5.7.17目录中

# cp ./support-files/mysql.server /etc/init.d/mysqld

# chmod +x /etc/init.d/mysqld

# chkconfig --add mysqld && chkconfig mysqld on

12、修改配置文件

# vim /etc/my.cnf

修改成下面的样子

13、初始化mysql

# cd /usr/local/mysql

# ./bin/mysqld --initialize --user=mysql TVu/GQkiR1#u

这里会输出以下内容,请注意看,这里有一个root的随机初始化密码,需要先记下来

这里的随机密码就是:CP!ER+=v)63w

14、修复权限

# chown -R mysql:mysql /usr/local/mysql/data

15、配置环境变量

# vim ~/.bashrc

在文件末尾加入以下代码并保存

让环境变量立即生效

# source ~/.bashrc

16、启动mysqld服务

# service mysqld restart

可以通过netstat -tulnp | grep mysqld查看监听的端口

17、进入mysql

# mysql -u root  -p

然后输入密码CP!ER+=v)63w

18、修改user@localhost用户的密码

ALTER USER root@localhost identified by '123456';

这个是修改本地的root用户的密码,之后就不用那个随机密码,太难输入了。

19、创建用户并授予远程访问

CREATE USER root@'%' (注意这里没有分号,因为还要继续输入,可以回车的)

IDENTIFIED BY '123456';

GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;

到此安装结束...

你可能感兴趣的:(编译安装mysql)