源码安装lamp(二):Mysql

Mysql

1.安装编译环境
2.下载源码包
3.添加用户和权限
4.编译安装
5.初始化数据库
6.配置系统服务、添加环境变量

1. yum install -y git cmake gcc gcc- c++ bison  ncurses ncurses-devel

    wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

    tar -zxvf boost_1_59_0.tar.gz -C /usr/local/

2. wget https://downloads.mysql.com/archives/get/file/mysql-5.7.21.tar.gz

   tar -zxvf mysql-5.7.21.tar.gz

3.

mkdir /www/mysql/mysql    #安装目录

mkdir /www/mysql/data   #数据目录

mkdir /www/mysql/log  #日志目录

groupadd -g 701 mysql

useradd -M -g mysql -u 1101 -s /sbin/nologin  mysql  #建立mysql账号,-M不建立家目录,-s自动以shell为/sbin/nologin账号不

chown -R mysql:mysql /www/mysql


4.  在/usr/local下创建一个名为boost的文件夹

    mkdir -p /usr/local/boost
    cd /usr/local/boost
    wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
    tar -xvzf boost_1_59_0.tar.gz  

    cmake . -DCMAKE_INSTALL_PREFIX=/www/mysql/mysql \
-DMYSQL_DATADIR=/www/mysql/data \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=/usr/local/boost \
-DEXTRA_CHARSETS=all


make -j `grep processor /proc/cpuinfo | wc -l`       (1个小时左右)

make install

如果报错
c++: internal compiler error: Killed (program cc1plus) 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See http://bugzilla.redhat.com/bugzilla for instructions. 
make[2]: * [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 4 
make[1]: * [sql/CMakeFiles/sql.dir/all] Error 2 
make: * [all] Error 2

说明内存不足,暂时可以把硬盘当内存使用
 dd if=/dev/zero of=/swapfile bs=1M count=2048
 mkswap /swapfile 
 swapon /swapfile 
编译完成之后
swapoff /swapfile
rm /swapfile

5.初始化系统数据库

打开/etc/my.cnf ,添加

 [client]
default-character-set = utf8
 
[mysqld]
character_set_server=utf8

./bin/mysqld --initialize-insecure --user=mysql --basedir=/www/mysql/mysql --datadir=/www/mysql/data --explicit_defaults_for_timestamp

./bin/mysql_ssl_rsa_setup


将数据目录的权限赋给mysql用户

chown -R root /www/mysql

chown -R mysql /www/mysql/data



如果报错mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
mkdir /var/log/mariadb 
touch /var/log/mariadb/mariadb.log 
chown -R mysql:mysql /var/log/mariadb/


设置数据库密码
./bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by 'root' with grant option;"
./bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by 'root' with grant option;"

6.配置系统服务,添加环境变量

cp support-files/mysql.server /etc/init.d/mysqld
shell> chkconfig --add mysqld     # 添加到系统服务
chkconfig mysqld on        # 开机启动


vim /etc/profile
export PATH=/www/mysql/mysql/bin:$PATH
source /etc/profile

猜你喜欢

转载自blog.csdn.net/llllllloooooo/article/details/80021236
今日推荐