mysql数据库使用技巧_mysql安装详细教程。
mysql 5.6 on centos 6.5 安装
******************************************************************************
1.系统部分
******************************************************************************
--------1.最小化安装即可.
-------2 配置yum源
cd /etc/yum.repos.d
mv CentOS-base.repo CentOS-base.repo.old
wget mirrors.163/.help/CentOS6-base-163.repo
#mirrors.aliyun/repo/Centos-6.repo
yum makecache
检查可更新的rpm包
yum check-update
更新所有的rpm包
yum update
---3.关闭防火墙
chkconfig --level 123456 iptables off
service iptables stop
---5.修改hosts
echo "172.16.16.187 dba001.mysql dba001" >> /etc/hosts
---6.rz
yum install lrzsz -y
******************************************************************************
2.mysql安装部分
******************************************************************************
一:卸载旧版本
使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql //普通删除模式
rpm -e --nodeps mysql
则用该命令可以对其进行强力删除
yum remove mysql-libs
二:安装MySQL
安装编译代码需要的包
yum -y install gcc gcc-c++ autoconf automake zlib* libxml* \
ncurses-devel libtool-ltdl-devel* make cmake bison bison-devel libaio
--为mysql新建组和用户
groupadd mysql && useradd -g mysql mysql -s /sbin/nologin && passwd mysql
--3.设置用户的系统资源限制
#vi /etc/security/limits.conf
mysql soft nproc 2047
mysql hard nproc 16384
mysql soft nofile 1024
mysql hard nofile 65536
--4.编译安装
cd
mkdir /soft && cd /soft && rz
tar xvf mysql-5.6.25.tar.gz
cd mysql-5.6.25
编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSConFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNObase_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.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
-no-warn-unused-cli
############### 以下为解释 ###################################
-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
-DINSTALL_SBINDIR=sbin 指向可执行文件目录,即mysqld目录(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
-DSYSConFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)
prefix官方推荐设为/usr
Storage Engine相关
类型csv,myisam,myisammrg,heap,innobase,archive,blackhole
若想启用某个引擎的支持:-DWITH__STORAGE_ENGINE=1
如:
-DWITH_INNObase_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
若想禁用某个引擎的支持:-DWITHOUT__STORAGE_ENGINE=1
如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
Library相关
-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
-DWITH_SSL=system 启用ssl库支持(安全套接层)
-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)
-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)
-DMYSQL_TCP_PORT=3306 指定TCP端口为3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径
-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持
-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)
-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)
-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持
-DMYSQL_USER=mysql 指定mysql用户(默认为mysql)
-DWITH_DEBUG=0 禁用debug(默认为禁用)
-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释
############### 上为解释 ###################################
make
make install
整个过程需要30分钟左右.
三:配置MySQL
1.新建数据文件、临时文件,修改权限-----根据my.cnf里面的目录逐个创建
mkdir -p /data/mysql
mkdir /data/mysql/mysql_logs/{error_log,slow_query_log,bin_log} -p
--2.修改参数
#rm -rf /etc/my.cnf;
vi /data/mysql/my.cnf
--3.链接文件
##链接文件
ln -fs /data/mysql/my.cnf /etc/my.cnf; ll /etc/my.cnf
lrwxrwxrwx. 1 root root 23 Nov 18 17:30 /etc/my.cnf -> /data/mysql/my.cnf
--4.修改权限
chown -R mysql /data/mysql
chgrp -R mysql /data/mysql
3.初始化配置
cd /data/mysql/scripts
#Note
./mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_01
#---6.0 修改文件权限
chown -R mysql /data/mysql; chgrp -R mysql /data/mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,
先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",
在本例中就是 /data/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf
,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,
造成无法启动。
#mv /etc/my.cnf /etc/my.cnfbak
4.启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cd /data/mysql/
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动MySQL
5.配置mysql用户
MySQL启动成功后,root默认没有密码,我们需要设置root密码。
5.1修改/etc/profile文件,在文件末尾添加
#vi /etc/profile
PATH=/data/mysql/bin:$PATH
export PATH
#source /etc/profile
现在,我们可以在终端内直接输入mysql进入,mysql的环境了
执行下面的命令修改root密码
--5.2修改mysql管理员密码
#/usr/local/mysql/bin/mysqladmin -u root password password
--5.3 登录mysql
# mysql -uroot -ppassword
--5.3 设置root用户可以远程访问
--方法1:授权法
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
select host,user,password from user;
--方法2:修改表
mysql> update user set host = '% ' where user = 'root ';
mysql> flush privileges;
------------------------------------------------------------------------------------------------------------------------------------
启动MySql提示:The server quit without updating PID file(…)失败
[java] view plaincopy
[root@rekfan mysql]# service mysql restart
MySQL server PID file could not be found![失败]
Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).[失败]
1.可能是/usr/local/MySQL/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !blog.rekfan/?p=186
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。