准备工作
# groupadd mysql
# useradd mysql -g mysql -M -s /sbin/nologin
#增加一个名为 mysql的用户。
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
为了在安装过程中尽量少出现报错,最好先 yum安装一些必需的编译工具和库文件(安装的比较多,方便以后编译安装php、nginx等):
# yum install cmake make autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel perl kernel-headers cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libpng* ncurses* libtool* libxml2-devel bison libaio-devel
解压并安装MySQL
# tar zxvf mysql-5.6.12.tar.gz
# cd mysql-5.6.12
# cmake ./
# -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
cmake ./ -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DSYSCONFDIR=/opt/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/opt/mysql/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
# make
# make install
mysql 初始化
./scripts/mysql_install_db.sh --basedir=/opt/mysql --datadir=/opt/mysql/data/ --user=mysql
设置my.cnf文件
[mysqld]
port=3306
socket = /opt/mysql/mysql.sock
pid-file=/opt/mysql/data/mysql.pid
basedir=/opt/mysql
datadir=/opt/mysql/data
skip-name-resolve
explicit_defaults_for_timestamp=true
lower_case_table_names=1
max_connections = 2000
max_connect_errors = 1000
max_heap_table_size = 32M
key_buffer_size = 32M
thread_cache_size = 64
default-storage-engine = innodb
transaction_isolation = REPEATABLE-READ
tmp_table_size = 32M
open_files_limit = 65535
server-id = 5
back_log = 50
log-bin=mysql-bin
binlog_cache_size = 2M
binlog_format=mixed
slow_query_log
long_query_time = 1
expire_logs_days = 15
sync-binlog = 0
[client]
default-character-set=utf8
socket=/opt/mysql/mysql.sock
[mysql]
default-character-set=utf8
socket=/opt/mysql/mysql.sock
[mysqldump]
quick
max_allowed_packet = 256M
启动mysql
# bin/mysqld_safe --user=mysql & 或者直接进入bin文件夹下面
# cd bin
#./mysqld \ 这里说明,mysqld_safe或者mysqld都可以启动的
启动mysql,看是否成功
# ps –ef|grep mysql
# netstat -tnl|grep 3306
上面是一种启动mysql的方法,还有一种简单的方便,如下:
将mysql的启动服务添加到系统服务中
# cp support-files/mysql.server /etc/init.d/mysql
现在可以使用下面的命令启动mysql
# service mysql start
停止mysql服务
# service mysql stop
重启mysql服务
# service mysql restart
设置root密码
./bin/mysqladmin -u root password "your password"
设置远程root密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
操作完后切记执行以下命令刷新权限
FLUSH PRIVILEGES