nginx安装mysql

检查是否有残留

	rpm -qa|grep -i mysql
	whereis mysql | xargs rm -rf
	find / -name mysql | xargs rm -rf

安装前准备

	groupadd mysql #创建mysql用户组
	useradd -g mysql mysql -s /bin/false #创建mysql用户并加入mysql用户组,不允许mysql用户登陆系统
	mkdir -p /data/mysql #创建msyql数据库存放目录
	mkdir -p /usr/local/mysql #创建mysql安装目录
	passwd mysql  //为mysql创建登录密码

二进制安装

	wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-i686.tar.gz 
	tar -xvf mysql-5.7.24-linux-glibc2.12-i686.tar.gz
	cp -r mysql-5.7.24-linux-glibc2.12-i686 /usr/local/mysql
	chown mysql:mysql /data/mysql
	cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
	/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql  #初始化
	说明:此条语句执行时容易报错,成功至少要满足以下几个条件
	① /usr/local/mysql/data目录存在并且一定要为空目录,否则报错;
	② 如果本机已经存在了其余的mysql,请确实/etc/my.cnf文件不存在,否则会按照/etc/my.cnf中的设置进行初始化,datadir会读取另一个mysql实例的路径,从而导致报错。遇到此情况,可以先将已经存在的mysql实例停止,然后将/etc/my.cnf文件剪切到此实例对应的datadir目录中,再启动此实例,然后重新执行初始化命令;
	③上面语句初始化成功后会在控制台打印临时管理员密码,如:...root@localhost: 2wp?fPp33/Hw,其中2wp?fPp33/Hw就是密码。

源码安装

	#下载安装包
	wget -c https://github.com/Kitware/CMake/releases/download/v3.13.3/cmake-3.13.3.tar.gz
	wget -c http://ftp.gnu.org/gnu/bison/bison-3.2.4.tar.gz
	wget -c http://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.gz
	wget -c http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
	wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
	wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz
	
	#安装gcc
	yum -y install gcc gcc-c++ 
	
	#安装cmake-3.13.3
	cd cmake-3.13.3
	./bootstrap
	gmake
	make install
	cmake --version #查看版本
	
	#安装bison-3.2.4
	cd bison-3.2.4
	./bootstrap
	make
	make install
	
	#安装m4-1.4.18
	cd m4-1.4.18
	./bootstrap
	make
	make install
	
	#安装Boost1.59
	mv boost_1_59_0 /usr/local/boost_1_59_0 
	cd /usr/local/boost_1_59_0    
	./bootstrap.sh
	./bjam
	./bjam install
	#默认安装到 /usr/local/lib
	#测试一下Boost是否安装成功
	vim main.cpp
	/**
	    #include <boost/lexical_cast.hpp>
	    #include <iostream>
	    int main()
	    {
	            using boost::lexical_cast;
	            int a = lexical_cast<int>("123");
	            double b = lexical_cast<double>("123.12");
	            std::cout<<a<<std::endl;
	            std::cout<<b<<std::endl;
	            return 0;
	    }
	**/
	g++ -o main main.cpp
	./main 
	/**
	   编译成功,运行成功。
	   123
	   123.12
	**/
	
	#安装ncurses-6.0
	cd ncurses-6.0 
	./bootstrap.sh
	./bjam
	./bjam install
	
	#安装mysql-boost-5.7.24
	cd mysql-boost-5.7.24
	cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost_1_59_0;
	make
	make install
	chown -R mysql:mysql /data/mysql
	cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
	/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #初始化

设置mysql服务

	ln -s /usr/local/mysql/bin/mysql /usr/bin #创建软链接 
	cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
	chkconfig mysql on
	chkconfig --level 35 mysql on

配置环境变量

	echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile   //把mysql的bin路径加入PATH
	source /etc/profile   //让PATH变量修改立即生效

开放3306端口号

	vim /etc/sysconfig/iptables
	加入 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
	service iptables restart 

重置密码

	方法一:修改配置文件my-default.cnf
	⒈打开配置文件my-default.cnf,然后在里面找到 [mysqld] 这一项,然后在该配置项下添加skip-grant-tables 这个配置,然后保存文件。
	service mysql restart
	
	方法二:进入mysql安全模式
	service mysql stop
	/usr/local.mysql/bin/msyqld_safe --skip-grant-tables
	
	设置密码
	 mysql> use mysql;
	 mysql> update user set authentication_string=password('password') where user='root';
	 mysql> flush privileges;
	 mysql> quit;
	#说明:执行sql语句的时候,如果出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement. 则需要先执行一下flush privileges.
	

设置外网可访问

	方法一:授权法
	 mysql>  GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; 
	 
	方法二:该表法
	 mysql> use mysql
	 mysql> update user set host='%' where user='root' and host='localhost';
	 mysql> flush privileges;
	 mysql> quit;
	
	如果报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
	mysql> set password=password('password');
	然后再使用上面命令设置

创建证书开启SSL验证

	/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data #自动创建证书开启SSL验证
	vim  /etc/my.conf
	加入
	ssl-ca=/data/mysql/data/ca.pem
	ssl-cert=/data/mysql/data/server-cert.pem
	ssl-key=/data/mysql/data/server-key.pem

    #查看ssl参数状态,查看have_ssl,为YES,这表示已经开始支持SSL了
    mysql > show variables like '%ssl%';

报错:Please install GNU M4 ,安装GNU make

下载地址:ftp://ftp.gnu.org/gnu/make/
tar -zxvf make4.2.tar.gz 
cd make4.2
./configure
make
make install

内存不足引起的编译(make)错误

dd if=/dev/zero of=/root/swapfile bs=1M count=1024
mkswap /root/swapfile 
swapon /root/swapfile
echo "/root/swapfile swap swap defaults 0 0">>/etc/fstab
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值