
mysql5.7安装
部署环境(只安装不介绍):
centos7.2最小化安装 八核cpu ,8G内存
卸载 mariadb-libs
[root@zhengda ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@zhengda ~]# rpm -e –nodeps mariadb-libs
安装gcc wget
1 |
[root@zhengda ~]# yum -y install gcc gcc-c++ perl-Time-HiRes wget |
下载mysql源码和一些必要文件
1 2 3 4 5 |
[root@zhengda src]# wget https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz [root@zhengda src]# wget ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz [root@zhengda src]# wget http://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz [root@zhengda src]# wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz [root@zhengda src]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz |
若以上源码下载不到请到国内源码站下载链接如下
http://source.goyun.org:8000/source/
安装cmak
安装ncurses
安装bison
报错了玛德!!!(这个cent镜像我下的最小化版正常不会有问题)
解决如下(不报错请略过此步)
1 |
[root@zhengda bison-3.0.4]# wget http://ftp.gnu.org/gnu/m4/m4-1.4.7.tar.gz |
再次安装bison成功如下
安装bootst
创建mysql用户,组
[root@zhengda src]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
创建base文件和数据文件
[root@zhengda src]# mkdir /usr/local/mysql && mkdir /data
安装mysql
# CMAKE 选项解释
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //MySQL安装的根目录
-DMYSQL_DATADIR=/data //MySQL数据库文件存放目录
-DSYSCONFDIR=/etc //MySQL配置文件所在目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //添加MYISAM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //添加InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //添加ARCHIVE引擎
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock //指定mysql.sock位置
-DWITH_PARTITION_STORAGE_ENGINE=1 //支持数据库分区
-DEXTRA_CHARSETS=all //使MySQL支持所有的扩展字符
-DDEFAULT_CHARSET=utf8 //设置MySQL的默认字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci //设置默认字符集校对规则
-DWITH-SYSTEMD=1 //可以使用systemd控制mysql服务
-DWITH_BOOST=/usr/local/boost //指向boost库所在目录
1 |
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/data/ -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH-MYSQM_STORAGE_ENGINE=1 -DWITHINNOBASE_SETORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost/ |
-j参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译。
添加mysq到系统环境变量
设置mysql目录权限为mysql
创建mysql配置文件 /etc/my.cnf 内容如下(请根据需求自行调整)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
[client] port = 3306 socket = /usr/local/mysql/mysql.sock default-character-set = utf8mb4 [mysql] prompt="MySQL [\d]> " no-auto-rehash [mysqld] port = 3306 socket = /usr/local/mysql/mysql.sock #skip-grant-tables basedir = /usr/local/mysql datadir = /data pid-file = /data/mysql.pid user = mysql bind-address = 0.0.0.0 server-id = 1 init-connect = 'SET NAMES utf8mb4' character-set-server = utf8mb4 skip-name-resolve #skip-networking back_log = 300 max_connections = 330 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 128 max_allowed_packet = 500M binlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 16M read_buffer_size = 2M read_rnd_buffer_size = 8M sort_buffer_size = 8M join_buffer_size = 8M key_buffer_size = 4M thread_cache_size = 8 query_cache_type = 1 query_cache_size = 8M query_cache_limit = 2M ft_min_word_len = 4 log_bin = mysql-bin binlog_format = mixed expire_logs_days = 7 log_error = /data/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql-slow.log performance_schema = 0 explicit_defaults_for_timestamp #lower_case_table_names = 1 skip-external-locking default_storage_engine = InnoDB #default-storage-engine = MyISAM innodb_file_per_table = 1 innodb_open_files = 500 innodb_buffer_pool_size = 64M innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 2M innodb_log_file_size = 32M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 interactive_timeout = 28800 wait_timeout = 28800 [mysqldump] quick max_allowed_packet = 500M [myisamchk] key_buffer_size = 8M sort_buffer_size = 8M read_buffer = 4M write_buffer = 4M |
初始化数据库
配置mysql启动脚本
修改启动脚本里的mysqld的pid指定文件位置
启动
修改my.cnf文件添加此选项(绕过密码)
重启数据库后 登陆数据库 密码为空
mysql –u root –p //直接回车
修改root密码为123456