CentOS_7.2安装MySQL_5.7【编译模式,非yum模式】

来源:互联网 发布:java打包package 编辑:程序博客网 时间:2024/06/06 11:36

注:CentOS7.2安装MySQL5.7各种状况,就是起不来,没辙了,用篇文章作者的方法,终于起来了。感谢作者!

原文地址:http://www.cnblogs.com/yange/p/5577640.html


一、安装依赖包和开发工具:

复制代码
yum install vim vim-enhanced wget zip unzip telnet ntsysv compat* apr* nasm* gcc gcc* gcc-c++ ntp make imake cmake automake autoconf python-devel zlib zlib-devel glibc glibc-devel glib2 libxml glib2-devel libxml2 libxml2-devel bzip2 bzip2-devel libXpm libXpm-devel libidn libidn-devel libtool libtool-ltdl-devel* libmcrypt libmcrypt-devel libevent-devel libmcrypt* libicu-devel libxslt-devel postgresql-devel curl curl-devel perl perl-Net-SSLeay pcre pcre-devel ncurses ncurses-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers krb5 krb5-devel e2fsprogs e2fsprogs-devel libjpeg libpng libjpeg-devel libjpeg-6b libjpeg-devel-6b libpng-devel libtiff-devel freetype freetype-devel fontconfig-devel gd gd-devel kernel screen sysstat flex bison nss_ldap pam-devel compat-libstdc++-33
复制代码

二、清除系统中mysql痕迹:

yum remove mysqlrm -f /etc/my.cnf

三、创建mysql用户和用户组:

groupadd mysqluseradd -s /sbin/nologin -M -g mysql mysql

四、安装boost:

tar zxvf boost_1_60_0.tar.gz -C /usr/srccd /usr/src/boost_1_60_0./bootstrap.sh./b2 --prefix=/usr/local./b2 install

五、解压、配置、编译、安装mysql_5.7:

复制代码
tar zxvf mysql-5.7.11.tar.gz -C /usr/srccd /usr/src/mysql-5.7.11cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/home/mysql/data \-DMYSQL_UNIX_ADDR=/home/mysql/pid/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DMYSQL_USER=mysql \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_READLINE=1 \-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 \-DWITH_SSL=system \-DWITH_ZLIB=system \-DWITH_EMBEDDED_SERVER=1 \-DENABLED_LOCAL_INFILE=1 \-DENABLE_DOWNLOADS=1 \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/usr/local/include/boostmake && make install
复制代码

六、编辑my.cnf配置文件:

cp /usr/src/mysql-5.7.11/support-files/my-default.cnf /etc/my.cnfvim /etc/my.cnf
复制代码
[client]port = 3306socket = /home/mysql/pid/mysql.sockdefault-character-set = utf8[mysql]prompt="MySQL [\d]> "no-auto-rehashdefault-character-set = utf8[mysqld]port = 3306socket = /home/mysql/pid/mysql.sockdatadir = /home/mysql/datapid-file = /home/mysql/pid/mysqld.piduser = mysqlbind-address = 0.0.0.0server-id = 1init-connect = 'SET NAMES utf8'character-set-server = utf8skip-name-resolveskip-external-lockingback_log = 300lower_case_table_names = 1ft_min_word_len = 1performance_schema = 0explicit_defaults_for_timestamp=truemax_connections = 3896max_connect_errors = 6000open_files_limit = 65535table_open_cache = 1024max_allowed_packet = 10Mbinlog_cache_size = 1Mmax_heap_table_size = 8Mtmp_table_size = 128Mread_buffer_size = 16Mread_rnd_buffer_size = 32Msort_buffer_size = 16Mjoin_buffer_size = 8Mkey_buffer_size = 256Mthread_cache_size = 64query_cache_type = 1query_cache_size = 256Mquery_cache_limit = 2M#log_bin = /home/mysql/log/mysql-binbinlog_format = mixedexpire_logs_days = 7 log_error = /home/mysql/log/mysql_error.logslow_query_log = 1long_query_time = 1slow_query_log_file = /home/mysql/log/mysql-slow.logdefault_storage_engine = InnoDB#default-storage-engine = MyISAMinnodb_file_per_table = 1innodb_open_files = 500innodb_buffer_pool_size = 1024Minnodb_write_io_threads = 4innodb_read_io_threads = 4innodb_thread_concurrency = 0innodb_purge_threads = 1innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 32Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120bulk_insert_buffer_size = 8Mmyisam_sort_buffer_size = 64Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1interactive_timeout = 28800wait_timeout = 28800[mysqldump]quickmax_allowed_packet = 20M[myisamchk]key_buffer_size = 256Msort_buffer_size = 32Mread_buffer = 16Mwrite_buffer = 16M
复制代码

七、修改目录权限、生成新的mysql授权表:

mkdir -p /home/mysql/logmkdir -p /home/mysql/datachown -R mysql:mysql /home/mysql//usr/local/mysql/bin/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --datadir=/home/mysql/data --basedir=/usr/local/mysql

八、添加mysqld系统服务:

cp /usr/src/mysql-5.7.11/support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqldchkconfig --add mysqldchkconfig --level 2345 mysqld onchkconfig --list | grep mysqld

九、添加加载mysql库文件的路径:

echo /usr/local/mysql/lib >> /etc/ld.so.conf.d/mysql-x86_64.confecho /usr/lib64/mysql >> /etc/ld.so.conf.d/mysql-x86_64.confcp /etc/ld.so.conf.d/mysql-x86_64.conf  /etc/ld.so.conf.d/mysql.confldconfig

十、链接可执行文件到系统环境变量:

复制代码
ln -s /usr/local/mysql/lib/mysql /usr/lib64/mysqlln -s /usr/local/mysql/include/mysql /usr/include/mysqlln -s /usr/local/mysql/bin/mysql /usr/bin/mysqlln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldumpln -s /usr/local/mysql/bin/myisamchk /usr/bin/myisamchkln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safeln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
复制代码

十一、启动mysql服务:

service mysqld startps -aux | grep mysqldnetstat -anptu | grep 3306

十二、登录并修改mysql的root密码:

cat ~/.mysql_secret

# 查看mysql默认的初始密码

mysql -uroot -p 

# 输入.mysql_secret文件内的初始密码

复制代码
set password for root@localhost = password('Passw0rd!');grant all privileges on *.* to root@'%' identified by 'Passw0rd!';update mysql.user set Grant_priv='Y' where Host='%';flush privileges;# "Passwrd!" 是修改的密码
复制代码

十三、防火墙开启3306端口:
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

0 0
原创粉丝点击