Linux 源码安装mysql-12140355
源码安装mysqltar zxf mysql-boost-5.7.11.tar.gz
rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm
yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y
cd mysql-5.7.11/
yum install gcc-c++ ncurses-devel bison -y
检测
#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql #安装目录
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock #Unix socket文件路径-DWITH_MYISAM_STORAGE_ENGINE=1 #安装 myisam 存储引擎-DWITH_INNOBASE_STORAGE_ENGINE=1# 安装 innodb 存储引擎-DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1
#安装数据库分区
-DDEFAULT_CHARSET=utf8 #使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/
make && make install##这个编译过程时间需要一个小时左右
##在make install 阶段如果出现很多红色的字体,并且界面卡住了,可以直接ctrl +C中断安装状态,重新执行make install即可
重新编译时,需要清除旧的对象文件和缓存信息
make clean
rm -f CmakeCache.txt
然后再继续camak,make && make install
cd /usr/local/lnmp/mysql/bin
# vim ~/.bash_profile
10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin#这样就能自动补齐
# source ~/.bash_profile#刷新,立即生效
# cd ..
# cd support-files/
# rpm -e `rpm -qa | grep mysql` --nodeps
warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
说明:由于本机之前安装过mysql 所以源码安装的时候需要清除环境影响
这里还不能直接yum remove。yum remove会把软件的依赖性一起删除,并且会导致postfix等服务启动出现故障。
# yum install mysql-libs -y
# yum check
# /etc/init.d/postfix restart#检测是否排除上文提及的问题
关闭 postfix: [确定]
启动 postfix: [确定]
# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
# cat /etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# cp /etc/my.cnf /etc/my.cnf.bak
# cp my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
# file mysql.server
mysql.server: POSIX shell script text executable
# cp mysql.server /etc/init.d/mysqld#复制启动脚本
# cd /var/lib/
# /etc/init.d/mysqld status
ERROR! MySQL is not running
# cd /usr/local/lnmp/mysql/
# ls
binCOPYINGdocsincludelibmanmysql-testREADMEsharesupport-files
# ll
总用量 56
drwxr-xr-x2 root root4096 3月22 23:38 bin
-rw-r--r--1 root root 17987 2月 2 2016 COPYING
drwxr-xr-x2 root root4096 3月22 23:37 docs
drwxr-xr-x3 root root4096 3月22 23:37 include
drwxr-xr-x4 root root4096 3月22 23:38 lib
drwxr-xr-x4 root root4096 3月22 23:37 man
drwxr-xr-x 10 root root4096 3月22 23:38 mysql-test
-rw-r--r--1 root root2478 2月 2 2016 README
drwxr-xr-x 28 root root4096 3月22 23:38 share
drwxr-xr-x2 root root4096 3月22 23:38 support-files
# grep mysql /etc/passwd#查看mysql这个用户信息
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
# grep mysql /etc/shadow
mysql:!!:17218::::::
# chown mysql.mysql . -R#将当前目录下所有文件的所有人所有组都设置成mysql -R表示第归
# which mysql
/usr/local/lnmp/mysql/bin/mysql
# mysql_install_db --user=mysql --basedir=/usr/local/lnmp/mysql/ --datadir=/usr/local/lnmp/mysql/data
2017-03-23 00:24:03 mysql_install_db is deprecated. Please consider switching to mysqld --initialize
##mysql_install_db这个命令是不被认同的,让我们用mysqld --initialize这个命令
2017-03-23 00:24:42 The bootstrap log isn't empty:
2017-03-23 00:24:42 2017-03-22T16:24:03.786590Z 0 --bootstrap is deprecated. Please consider using --initialize instead
2017-03-22T16:24:03.792333Z 0 Changed limits: max_open_files: 1024 (requested 5000)
2017-03-22T16:24:03.792343Z 0 Changed limits: table_open_cache: 431 (requested 2000)
# pwd
/usr/local/lnmp/mysql
# cd data/
# rm -fr *
# cd ..
# mysqld --initialize --user=mysql --basedir=/usr/local/lnmp/mysql/ --datadir=/usr/local/lnmp/mysql/data
当最后输出如下:
2017-03-22T16:27:58.726507Z 1 A temporary password is generated for root@localhost:W_Ad1p4htKk-##加粗字体是mysql的初始登陆密码
# chown root.root . -R
# chown mysql data -R
# cd data/
# ls
auto.cnf ibdata1 ib_logfile1performance_schema
ib_buffer_poolib_logfile0mysql sys
# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
# ls
auto.cnf ib_logfile1 mysql.sock server2.example.com.pid
ib_buffer_poolibtmp1 mysql.sock.lock sys
ibdata1 mysql performance_schema
ib_logfile0 mysqld_safe.pidserver2.example.com.err
报错信息会记录再server2.example.com.err文件中
# mysql -p
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection> Server version: 5.7.11
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>> Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit
Bye
这样mysql就安装成功了!!!
页:
[1]