源码安装mysql-5.6.32.tar.gz

时间:2023-03-09 19:04:32
源码安装mysql-5.6.32.tar.gz
http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz

安装依赖包:

#yum install wget bison gcc gcc-c++ wget make cmake ncurses-devel libtool zilib-devel -y

规划好目录:

# mkdir -p /data/mysqldata/{/{data,tmp,binlog,redo-log,undo-log},backup,scritps}
[root@DB]# tree /data/
servers/data/
└── mysqldata
├──
│   ├── binlog
│   ├── data
│   ├── redo-log
│   ├── tmp
│   └── undo-log
├── backup
└── scritps directories, files

创建mysql用户,授权

#groupadd mysql
#useradd -g mysql mysql
[root@DB /]# chown mysql:mysql -R /data/mysqldata

生成编译配置文件:

[root@DB mysql-5.6.]# cmake -DCMAKE_INSTALL_PREFIX=/app/servers/mysql-5.6. -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_FEDERATED_STORAGE_ENGINE= -DWITH_BLACKHOLE_STORAGE_ENGINE= -DWITH_EXAMPLE_STORAGE_ENGINE= -DWITH_PARTITION_STORAGE_ENGINE= -DWITH_PERFSCHEMA_STORAGE_ENGINE= -DCOMPILATION_COMMENT='JSS for mysqltest' -DWITH_READLINE=ON -DSYSCONFDIR=/data/mysqldata/ -DMYSQL_UNIX_ADDR=/data/mysqldata//mysql.sock

上面的cmake是不能成功,初始化不能成功(下面的代码没问题):

cmake -DCMAKE_INSTALL_PREFIX=/app/servers/mysql-5.6. \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=
DCMAKE_INSTALL_PREFIX mysql安装目录,这里指的是mysql软件的安装路径,
DDEFAULT_CHARSET 指定mysql的字符集。
DDEFAULT_COLLATION 指定mysql服务的默认校对规则。
DENABLED_LOCAL_INFILE

是否允许从客户端本地加载数据到Mysql服务端,专用于load data infile语句,默认不允许

DWITH_*_STORAGE_ENGINE 静态编译某种存储引擎。*表示存储引擎名称,1表示开启。
DCOMPILATION_COMMENT 编译信息,后面启动的时候会看到。
DWITH_READLINE mysql输入输出的处理方式
DSYSCONFDIR mysql参数文件的默认路径
DMYSQL_UNIX_ADDR 套接字文件存储路径位置
[root@DB mysql-5.6.]# make && make install
[root@DB mysql-5.6.]# chown mysql:mysql -R /app/servers/mysql-5.6.
[root@DB mysql-5.6.]# chown mysql.mysql /data/mysqldata//my.cnf
[root@DB mysql-5.6.]# ll -h /data/mysqldata//my.cnf
-rw-r--r-- mysql mysql .6K Aug : /data/mysqldata//my.cnf
[root@DB mysql-5.6.]# cat /data/mysqldata//my.cnf
[client] port =
socket = /data/mysqldata//mysql.sock #Mysql Server
[mysqld]
port =
user = mysql
socket = /data/mysqldata//mysql.sock
pid-file = /data/mysqldata//mysql.pid
basedir = /app/servers/mysql-5.6.
datadir = /data/mysqldata//data
tmpdir = /data/mysqldata//tmp
open_files_limit =
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #Buffer
max_allowed_packet = 64M
max_heap_table_size = 64M
net_buffer_length = 8K
sort_buffer_size = 2M
join_buffer_size =4M
read_buffer_size = 2M
read_rnd_buffer_size = 16M #Log
log-bin = /data/mysqldata//binlog/mysql-bin
binlog_cache_size = 16m
max_binlog_cache_size = 128m
max_binlog_size = 128m
binlog_format = row
log_output = FILE
log-error = ../mysql-error.log
slow_query_log =
slow_query_log_file = ../slow_query.log
general_log =
general_log_file = ../general_query.log
expire-logs-days = #master-slave,这里先不做任何配置,下一个章节会讲到。
server-id = binlog-ignore-db = test replicate-ignore-db = test log-slave-updates=true #InnoDB
innodb_data_file_path = libdata1:1024M:autoextend
innodb_log_file_size = 32M
innodb_log_files_in_group =
innodb_log_group_home_dir = /data/mysqldata//redo-log/
innodb_buffer_pool_size = 200M
sync_binlog = #Undo Logs这里被我注释了,.6版本undo可以拆分出来,用xtrabackup恢复有异常,就注释了。
#innodb_undo_directory = /data/mysqldata//undo-log/
#innodb_undo_log =
#innodb_undo_tablespaces = [mysql]
no-auto-rehash
prompt=(\\u@\\h) [\\d]>\\_
[root@DB servers]# ls
mfs mysql-5.6.
[root@DB servers]# ln -s mysql-5.6./ mysql
[root@DB servers]# ll
total
drwxr-xr-x. root root Jun : mfs
lrwxrwxrwx root root Aug : mysql -> mysql-5.6./
drwxr-xr-x mysql mysql Aug : mysql-5.6.

http://jiajinh.blog.51cto.com/2085098/1627966

# /app/servers/mysql-5.6./scripts/mysql_install_db --datadir=/data/mysqldata//data --basedir=/app/servers/mysql-5.6.
/app/servers/mysql-5.6./my.cnf,/app/servers/mysql-5.6./my-new.cnf,/etc/my.cnf,如果这些文件存在,可以清除掉。就发现warning消失了

启动数据库,我这里采用sale的方式启动:

[root@ok servers]# /app/servers/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata//my.cnf &
[]
[root@ok servers]# :: mysqld_safe Logging to '/data/mysqldata/3306/data/../mysql-error.log'.
:: mysqld_safe Starting mysqld daemon with databases from /data/mysqldata//data

查看启动状态:

[root@ok log]# ps aux |grep mysqld
root 0.0 0.0 pts/ S : : /bin/sh /app/servers/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata//my.cnf
mysql 1.0 3.8 pts/ Sl : : /app/servers/mysql-5.6./bin/mysqld --defaults-file=/data/mysqldata//my.cnf --basedir=/app/servers/mysql-5.6. --datadir=/data/mysqldata//data --plugin-dir=/app/servers/mysql-5.6./lib/plugin --user=mysql --log-error=/data/mysqldata//data/../mysql-error.log --open-files-limit= --pid-file=/data/mysqldata//mysql.pid --socket=/data/mysqldata//mysql.sock --port=
root 0.0 0.0 pts/ S+ : : grep mysqld
[root@ok log]# /app/servers/mysql/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.6.-log Source distribution Copyright (c) , , 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. (root@localhost) [(none)]>

关闭数据库:

[root@ok log]# /app/servers/mysql/bin/mysqladmin -S /data/mysqldata//mysql.sock shutdown
[root@ok log]# netstat -ano |grep
[root@ok log]# ps -el|grep mysql

为保障安全性,修改root用户登录信息

(root@localhost) [mysql]> select user,password,host from user;
+------+----------+-----------+
| user | password | host |
+------+----------+-----------+
| root | | localhost |
| root | | ok |
| root | | 127.0.0.1 |
| root | | :: |
| | | localhost |
| | | ok |
+------+----------+-----------+
rows in set (0.00 sec)

删除所有账户信息,只保留本地登录:

(root@localhost) [mysql]> delete from mysql.user where (user,host) not in (select 'root','localhost');
Query OK, rows affected (0.00 sec)
(root@localhost) [mysql]> select user,password,host from user;                  
+------+----------+-----------+
| user | password | host |
+------+----------+-----------+
| root | | localhost |
+------+----------+-----------+
row in set (0.00 sec)