mysql5.6源码安装
转自
jabbok博客园
https://www.cnblogs.com/jabbok/p/9418344.html
1 编译安装
1
2
3
4
5
6
|
groupadd mysql useradd mysql -g mysql -M -s /sbin/nologin
#增加一个名为 mysql的用户。 #-g:指定新用户所属的用户组(group) #-M:不建立根目录 #-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。 |
1
|
wget ftp: / / mirror.switch.ch / mirror / mysql / Downloads / MySQL - 5.6 / mysql - 5.6 . 39.tar .gz
|
1
2
3
4
5
|
yum install gcc gcc -c++ -y
yum install -y ncurses-devel
yum install -y cmake
yum install -y libaio
yum install -y bison
|
1
|
cmake ./ -DCMAKE_INSTALL_PREFIX= /app/mysql -DMYSQL_DATADIR= /app/mysql/data -DSYSCONFDIR= /app/mysql/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR= /tmp/mysqld .sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
|
1
|
make -j && make install
|
参数说明
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
# -DEXTRA_CHARSETS=all \ #安装所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默认字符
# -DDEFAULT_COLLATION=utf8_general_ci
2 配置
1
2
|
. /scripts/mysql_install_db --datadir= /app/mysql/data
#在安装目录下,把配置库安装到mysql |
1
2
3
|
[root@webmaster data] # ls /app/mysql/data
ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test
#在数据目录下可以发现数据文件 |
1
2
|
chown -R mysql:mysql ./*
#将整个安装目录给mysql用户 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@mysql mysql] # cat my.cnf
#[mysql] #socket = /tmp/mysqld.socket [mysqld] basedir = /app/mysql
datadir = /app/mysql/data
port = 3306 # server_id = ..... socket = /app/mysql/lib/mysqld .socket
# join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error= /app/mysql/log/mysqld .log
pid- file = /app/mysql/lib/mysqld .pid
|
3 启动
1
|
bin /mysqld_safe --user=mysql &
|
1
2
3
4
|
[root@mysql mysql] # ps aux| grep mysqld | grep -v grep
root 12260 0.0 0.1 113260 1628 pts /0 S 19:31 0:00 /bin/sh . /bin/mysqld_safe --user=mysql
mysql 12484 0.1 44.8 1364192 448760 pts /0 Sl 19:31 0:00 /app/mysql/bin/mysqld --basedir= /app/mysql --datadir= /app/mysql/data --plugin- dir = /app/mysql/lib/plugin --user=mysql --log-error= /app/mysql/log/mysqld .log --pid- file = /app/mysql/lib/mysqld .pid --socket= /app/mysql/lib/mysqld .socket --port=3306
root 12623 0.0 0.2 131300 2736 pts /0 S+ 19:33 0:00 . /bin/mysql -uroot -S /app/mysql/lib/mysqld .socket -p
|
1
2
|
. /bin/mysqladmin -uroot password -S /app/mysql/lib/mysqld .socket
#修改密码 |
1
2
|
. /bin/mysql -uroot -S /app/mysql/lib/mysqld .socket -p
#进入mysql |