Mysql的安装(5.6)

部署时间有限,故我踩坑的地方,下面会先安装好相关依赖,按此去安装即可。不然后面可能会存在缺一些依赖。
环境交代:

首先要准备cmake的包和mysql的源码包。可以去官网下载,不懂怎么下载的可以问度娘。
我已准备cmake-2.8.12.2.tar.gz 和mysql-5.6.22.tar.gz 。下面直接进行安装。
####第一步 cmake

# yum install cmake -y
# tar xf cmake-2.8.12.2.tar.gz 
# cd cmake-2.8.12.2
# yum install -y gcc*
#./configure
# make -j 8  (根据电脑的内核数 写对应的数字):最简单的CPU核数查看 先Top 再按1,就可以看到。
# make install

####第二步 创建mysql用户及目录

考虑众多安全问题以mysql用户的身份来运行mysql服务。

# useradd -M  -r -s /sbin/nologin mysql 
# mkdir -p /mysql/data
# chown  -R mysql.mysql /mysql/

####第三步 mysql安装

# yum install  ncurses-devel -y
# yum install openssl-devel -y
#  yum install perl-Module-Build -y
   // 因为大多数服务器最小化安装,故需要安装此项。
# tar xf mysql-5.6.22.tar.gz 
# cd mysql-5.6.22
# rm -rf CMakeCache.txt 
     // cmake的缓存清理,失败后每次都需要删除此文件。
# cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
              -DMYSQL_DATADIR=/mysql/data  \
              -DDEFAULT_CHARSET=utf8  \
              -DEXTRA_CHARSETS=all   \
              -DDEFAULT_COLLATION=utf8_general_ci \
              -DWITH_SSL=system  \
              -DWITH_EMBEDDED_SERVER=1 \
              -DENABLED_LOCAL_INFILE=1 \
              -DWITH_INNOBASE_STORAGE_ENGINE=1 
               编译选项根据需求来选择
# make -j 8   (根据电脑的内核数 写对应的数字)
# make install

####第四步 mysql初始化

# cd /usr/local/mysql/
# ./scripts/mysql_install_db  --user=mysql --datadir=/mysql/data/
#  cd /usr/local/mysql/
# vim /etc/my.cnf(可先只留最后一行,后续有相应需求再添加)
# ./bin/mysqld_safe --user=mysql &
# ./bin/mysql

####第五步 mysql环境变量的设置

#  vim /etc/profile.d/mysql.sh(新建)
#  export PATH=/usr/local/mysql/bin:$PATH
#  source  /etc/profile.d/mysql.sh
#  mysql(可直接进入数据库)

####第六步 执行mysql_secure_installation
#####mysql_secure_installation 初次安装数据库后安全相关设置命令
######相关内容

    设置  root 密码
    enter-->yes-->password
    匿名用户
        是否移除匿名用户(y/n)  y
    不允许远程(y/n)
    删除test库(y/n)
    重载权限(y/n)   

####第七步 开机自启

# cp -p  /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysqld
    # chkconfig --add mysqld    
       将mysqld添加到chkconfig管理的开机启动中
    # chkconfig --list |grep mysqld
        查看mysqld在各运行级别中是否开机启动
        mysqld         	0:off   1:off     2:on    3:on    4:on    5:on    6:off

####常见问题及需求的整理
#####常见报错处理
######报错信息1

# remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, 
# package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

######解决方法1

# yum install ncurses-devel
# rm -rf CMakeCache.txt 

######报错信息2

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OPENSSL_INCLUDE_DIR  

######解决方法2

# yum install openssl-devel -y

#####报错及处理

报错:C compiler(编译器) 解决:安装 #yum install gcc* -y   

####授权问题

权限:(权限相关文件都存放于mysql数据库中)
全局权限存放在 mysql.user中,此表联合主键host+user。
授权 : grant 存在授权,不存在创建。
grant 权限列表 on   库名.表名 to 用户@'主机' identified by '密码字符串';
      全局权限:(user)*.* 所有库所有表
      grant select on *.* to x@'%' identified by 'pwd';      x@localhost
                   //具有全局的select用户,可任何主机登录
     flush privileges;          
    库级权限: (db)                      库名.*
    表级权限:(tables_priv)                 库名.表名
     grant select on qianfeng.pass to xtable@'%' identified by 'pwd'; 
     列级权限:(colummns_priv)   (列) on 指定库.表
     grant select(username) on qianfeng.passwd to xc@'%'; 

#####要求授权一个用户,该用户要有创建库的权限

grant all privileges on *.* to x@localhost identified by 'pwd';                   

#####要求mysql表不区分大小写

# vim /etc/my.cnf
[mysqld]
lower_case_table_names=1 #1为不区分大小写,0区分大小写
重启mysql服务
# /usr/local/mysql/bin/mysqladmin  shutdown
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

猜你喜欢

转载自blog.csdn.net/qq_41176037/article/details/85335579