Linux环境编译安装Mysql数据库

时间:2022-05-29 17:08:45
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;
到此安装结束...