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 
	    #include 
	    int main()
	    {
	            using boost::lexical_cast;
	            int a = lexical_cast("123");
	            double b = lexical_cast("123.12");
	            std::cout<

设置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

你可能感兴趣的:(运维,mysql)