mysql 源代码16384_mysql5.7源码安装

1.安装所有包

yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison Python-devel

2.创建用户,目录,权限

[root@mysql1 ~]# groupadd mysql

[root@mysql1 ~]# useradd -r -g mysql -s /bin/false mysql

[root@mysql1 ~]# tar xvf mysql-5.7.17.tar.gz

[root@mysql1 ~]# cd mysql-5.7.17mkdir /usr/local/mysql  软件目录mkdir -p /usr/local/mysql/data   数据目录mkdir -p /var/log/mysql     日志路径mkdir -p /var/run/mysql     pid路径

-- 用户属主

chown -R mysql:mysql /usr/local/mysqlchown -R mysql:mysql /usr/local/mysql/datachown -R mysql:mysql /var/log/mysqlchown -R mysql:mysql /var/run/mysql

另外如果有登陆固需求:

设置vim  /etc/security/limits.conf

MySQL   soft   nproc  2047

mysql   hard  nproc  16384

mysql   soft   nofile  1024

mysql  hard   nofile  65536

环境变量:

vim /home/mysql/.bash_profile

export  LANG=zh_CN.GB18030

export PATH=/usr/local/mysql/bin:$PATH

3.安装一些配置,工具包

gmock ,地址http://git.typecodes.com/libs/ccpp/gmock-1.6.0.zip安装步骤,解压到mysql-5.7.9的source_downloads目录,可选步骤安装cmake,可以使用yum安装或者下载安装,下载路经http://git.typecodes.com/libs/ccpp/cmake-3.2.1.tar.gz安装ncurses-devel,yum安装GNU分析器生成器,连接http://git.typecodes.com/libs/ccpp/bison-3.0.tar.gz

4.编译&&安装

tar zxvf mysql-5.7.9.tar.gzcd mysql-5.7.9第一部:

[root@mysql1 ~]# groupadd mysql

[root@mysql1 ~]# useradd -r -g mysql -s /bin/false mysql

[root@mysql1 ~]# tar xvf mysql-5.7.17.tar.gz

[root@mysql1 ~]# cd mysql-5.7.17

[root@mysql-5.7.17 ~]# cmake . \

-DWITH_BOOST=boost/boost_1_59_0/ \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DSYSCONFDIR=/etc \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DINSTALL_MANDIR=/usr/share/man \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1

[root@mysql1 ~]# make

[root@mysql1 ~]# make install

cmake .\-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/usr/local/mysql/data  -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DENABLE_DOWNLOADS=1 -DWITH_PARTITION_STORAGE_ENGINE=1  -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled -DWITH_BOOST=/usr/local/boost

第二部:make && make install说明-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \              [MySQL安装的根目录]-DMYSQL_DATADIR=/mydata/mysql/data  \                   [MySQL数据库文件存放目录]-DSYSCONFDIR=/etc \                                     [MySQL配置文件所在目录]-DMYSQL_USER=mysql \                                    [MySQL用户名]      -DWITH_MYISAM_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]-DWITH_INNOBASE_STORAGE_ENGINE=1 \                      [MySQL的数据库引擎]-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                       [MySQL的数据库引擎]-DWITH_MEMORY_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]-DWITH_READLINE=1 \                                     [MySQL的readline library]-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \           [MySQL的通讯目录]-DMYSQL_TCP_PORT=3306 \                                 [MySQL的监听端口]-DENABLED_LOCAL_INFILE=1 \                              [启用加载本地数据]-DENABLE_DOWNLOADS=1 \                                  [编译时允许自主下载相关文件]-DWITH_PARTITION_STORAGE_ENGINE=1  \-DEXTRA_CHARSETS=all \                                  [使MySQL支持所有的扩展字符]-DDEFAULT_CHARSET=utf8 \                                [设置默认字符集为utf8]-DDEFAULT_COLLATION=utf8_general_ci \                   [设置默认字符校对]-DWITH_DEBUG=0 \                                        [禁用调试模式]-DMYSQL_MAINTAINER_MODE=0 \-DWITH_SSL:STRING=bundled \                             [通讯时支持ssl协议]-DWITH_ZLIB:STRING=bundled \                            [允许使用zlib library]-DWITH_BOOST=/usr/local/boost                [boost库地址,如果安装了,可以不用指定]中间遇到两个问题,第一,CMake Error at cmake/boost.cmake:76 (MESSAGE)You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=解决方法:追加编译选项-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost或者将 http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz下载到/usr/local/boost 再追加编译选项-DWITH_BOOST=/usr/local/boost这个一定要匹配,mysql-5.7.9可能需要安装boost_1_59_0以上版本的第二,Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)解决:rm CMakeCache.txtyum install ncurses-devel

其实这个根据提示就可以看出来了

第三,安装boost的时候,提示很多python库没找到yum install python-devel

5配置文件

我们安装时配置的路径是etc,这里有个默认的文件my.cnf,修改内容为类似如下,这一步最好使用安装文件/usr/local/mysql/support-files/my-default.cnf 放到/etc/my.cnf# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the# *** default location during install, and will be replaced if you# *** upgrade to a newer version of MySQL.[client]port=3306socket=/var/run/mysql/mysql.sock[mysqld]# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin# These are commonly set, remove the # and set as required.user = mysqlbasedir = /usr/local/mysqldatadir = /mydata/mysql/dataport=3306server-id = 1socket=/var/run/mysql/mysql.sockcharacter-set-server = utf8log-error = /var/log/mysql/error.logpid-file = /var/log/mysql/mysql.pidgeneral_log = 1skip-name-resolve#skip-networkingback_log = 300max_connections = 1000max_connect_errors = 6000open_files_limit = 65535table_open_cache = 128 max_allowed_packet = 4Mbinlog_cache_size = 1Mmax_heap_table_size = 8Mtmp_table_size = 16Mread_buffer_size = 2Mread_rnd_buffer_size = 8Msort_buffer_size = 8Mjoin_buffer_size = 28Mkey_buffer_size = 4Mthread_cache_size = 8query_cache_type = 1query_cache_size = 8Mquery_cache_limit = 2Mft_min_word_len = 4log_bin = mysql-binbinlog_format = mixedexpire_logs_days = 30performance_schema = 0explicit_defaults_for_timestamp#lower_case_table_names = 1#default-storage-engine=myism#innodb_buffer_pool_size=2048M#innodb_log_file_size=1024Mmyisam_sort_buffer_size = 8Mmyisam_repair_threads = 1interactive_timeout = 28800wait_timeout = 28800# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2M # Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Recommended in standard MySQL setupsql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES [mysqldump]quickmax_allowed_packet = 16M[myisamchk]key_buffer_size = 8Msort_buffer_size = 8Mread_buffer = 4Mwrite_buffer = 4M

6.初始化数据库

[root@mysql1 local]# cd mysql

[root@mysql1 mysql]# chown -R mysql .

[root@mysql1 mysql]# chgrp -R mysql .

[root@mysql1 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

[root@mysql1 mysql]# bin/mysql_ssl_rsa_setup

[root@mysql1 mysql]# chown -R root .

[root@mysql1 mysql]# chown -R mysql data mysql-files

[root@mysql1 mysql]# \cp -rf support-files/my-default.cnf  /etc/my.cnf

[root@mysql1 mysql]# bin/mysqld_safe --user=mysql &

[root@mysql1 mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

[root@mysql1 mysql]# source /etc/profile

[root@mysql1 mysql]# mysql -uroot -p'xxxx'

mysql> alter user root@'localhost' identified by 'tianyun';

7.设置系统服务,开机子启动

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqldchmod +x /etc/init.d/mysqld  chkconfig --add mysql

chkconfig mysqld on

可以参考:http://blog.csdn.NET/jc_benben/article/details/52767649

8.启动服务

mysqld_safe --user=mysql --datadir=/mydata/mysql/data --log-error=/var/log/mysql/error.log &service mysqld start不懂两者关系摆渡查看启动情况:ps -ef | grep mysql,netstat -tunpl | grep 3306

9.初始化配置

mysql_secure_installation根据需要配置一些root密码,是否匿名访问,是否远程访问,删除test库等操作

10.创建用户等

mysql -uroot -pcreate database `mysqldb` default character set utf8 collate utf8_general_ci;grant all privileges on mysqldb.* to loge0001@localhost identified by 'china123';flush privileges;

说明:mysql比较特殊,不像Oracle,授权即可创建新用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值