欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql的安装(5.6)

程序员文章站 2022-05-27 13:29:54
...

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

首先要准备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 [email protected]'%' identified by 'pwd';      [email protected]
                   //具有全局的select用户,可任何主机登录
     flush privileges;          
    库级权限: (db)                      库名.*
    表级权限:(tables_priv)                 库名.表名
     grant select on qianfeng.pass to [email protected]'%' identified by 'pwd'; 
     列级权限:(colummns_priv)   (列) on 指定库.表
     grant select(username) on qianfeng.passwd to [email protected]'%'; 

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

grant all privileges on *.* to [email protected] 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 &