1. 安装依赖 1 2 3 4 apt-get install cmake g++ bison libssl-dev libxml2-dev libncurses5-dev libreadline-dev libnuma-dev yum install gcc gcc-c++ cmake bison ncurses-devel readine-devel libaio-devel
#libboost-dev 解决boost1.59依赖问题,下载boost1.59到/usr/local/src/boost_1_59_0,编译参数加入 即可1 -DDOWNLOAD_BOOST =1 -DWITH_BOOST =/usr/local/src/boost_1_59_0/
2. mysql 编译 1 2 cmake -DCMAKE_INSTALL_PREFIX =/usr/local/webserver/mysql -DMYSQL_DATADIR =/data/mysql/3306 -DENABLED_LOCAL_INFILE =1 -DWITH_PARTITION_STORAGE_ENGINE =1 -DEXTRA_CHARSETS =all -DDEFAULT_CHARSET =utf8 -DDEFAULT_COLLATION =utf8_general_ci -DDOWNLOAD_BOOST =1 -DWITH_BOOST =/usr/local/src/boost_1_59_0 make -j 30 && make install
3. 环境配置 1 2 3 4 5 6 7 8 9 10 11 useradd mysql -s /bin/false vim /etc/profile .d/mysql.sh export PATH=/usr/local/webserver/mysql/bin:$PATH chmod +x /etc/profile .d/mysql.sh source /etc/profile .d/mysql.sh ln -sv /usr/local/webserver/mysql/include/ /usr/include/mysqlecho "/usr/local/webserver/mysql/lib" > /etc/ld.so .conf .d/mysql.conf ldconfig ldconfig -p | grep mysql
4. 初始化文件、权限 1 2 3 4 mkdir -pv /data /mysql/3306/data mkdir -pv /data /logs/mysqlchown -R mysql.mysql /data /logs/mysql/chown -R mysql.mysql /data /mysql/3306/data
5. my.cnf 配置文件 /etc/my.cnf1 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 Mysql 5.5 [client] port = 3306 socket = /tmp/mysql.sock [mysqld] user = mysql port = 3306 basedir = /usr/local/webserver/mysql datadir = /data/mysql/3306/data socket = /tmp/mysql.sock pid_file = /data/mysql/3306/data/mysql.pid log-error = /data/logs/mysql/mysql.err tmpdir = /tmp skip-external-locking skip-name-resolve = 1 server_id = 35 log-bin = mysql-bin binlog_format = row binlog_cache_size = 4M max_binlog_cache_size = 8M max_binlog_size = 1G expire_logs_days = 7 binlog-ignore-db = mysql binlog-ignore-db = sys binlog-ignore-db = information_schema binlog-ignore-db = performance_schema table_open_cache = 2048 open_files_limit = 10240 back_log = 600 max_connections = 1000 max_connect_errors = 10000 max_allowed_packet = 32M thread_stack = 512K tmp_table_size = 256M max_heap_table_size = 256M sort_buffer_size = 8M join_buffer_size = 8M read_buffer_size = 8M read_rnd_buffer_size = 16M thread_cache_size = 0 query_cache_limit = 2M query_cache_size = 64M query_cache_min_res_unit = 2k ft_min_word_len = 4 long_query_time = 1 slow_query_log slow_query_log_file = /data/logs/mysql/slow.log key_buffer_size = 32M bulk_insert_buffer_size = 64M myisam_sort_buffer_size = 128M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 myisam_recover_options default-storage-engine = InnoDB transaction_isolation = REPEATABLE-READ innodb_flush_method=O_DIRECT innodb_additional_mem_pool_size = 16M innodb_buffer_pool_size = 2G innodb_data_file_path = ibdata1:1G:autoextend innodb_write_io_threads = 8 innodb_read_io_threads = 8 innodb_thread_concurrency = 16 innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 16M innodb_log_file_size = 128M innodb_log_files_in_group = 2 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 innodb_file_per_table = 1 innodb_autoinc_lock_mode=2 [mysqldump] quick max_allowed_packet = 64M [myisamchk] key_buffer_size = 256M sort_buffer_size = 256M read_buffer = 8M write_buffer = 8M [mysqlhotcopy] interactive-timeout
6. mysql 初始化 1 #mysqld --initialize-insecure --user=mysql --basedir=/usr/ local/webserver/my sql --datadir=/data_ext/my sql/3306/ data --log-error=/data/ logs/mysql/ error.log --pid-file =/data_ext/my sql/3306/ data/mysql.pid
7. 修改密码 使用alter user 重置密码:1 2 3 mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '********'
方法二:1 update mysql.user set authentication_string=password ('E2x/LFDq6W7Z+' ) where user ='root' and Host = 'localhost'
mysql5.7 密码是:authentication_string openssl rand -base64 18
8. 启动脚本 1 2 3 4 5 cp /usr/ local/src/ percona-server-5.7 .18 -15 /support-files / etc/init.d/ mysql chmod +x /etc/ init.d/mysql update-rc.d mysql defaults update-rc.d mysql enable /etc/ init.d/mysql start
9. 激活jemalloc 1 2 3 4 5 vim /usr/ local/webserver/my sql/bin/my sqld_safe mysqld_ld_preload=/usr/ local/webserver/ jemalloc/lib/ libjemalloc.so.2 load_jemalloc=1 查看:lsof -n | grep jemalloc
11. 创建用户或权限 1 GRANT ALL PRIVILEGES ON xxx.* TO 'copyright' @'110.120.130.12%' IDENTIFIED BY 'C5iaSvtdC7il0+QU' WITH GRANT OPTION ;
12. 导入数据 1 2 mysql -uroot -hlocalhost -p -e create database cp mysql -uroot -hlocalhost -p cp < cp .sql