Linux(centos7)下安装MySQL

一、安装包获取

1.到mysql官网下载安装包免解压版

下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
在这里插入图片描述图片截图实例

2.wget获取安装包,cmake编译

eg:
wget http://xiazai.jb51.net/201701/yuanma/mysql5.6.24(jb51.net).rar

二、安装准备

1、卸载系统自带的mariadb
[root@localhost soft]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost soft]# 
[root@localhost soft]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2、删除/etc目录下的my.cnf

避免默认的mysql配置文件应用后续启动,有可能系统原来不存在这个文件

rm /etc/my.cnf
3、创建mysql用户组及用户

mysql默认root用户启动视为不安全

[root@localhost soft]# groupadd mysql
[root@localhost soft]# useradd -g mysql mysql

二、安装

1、免编译安装包

(1) 解压安装包到/usr/local/目录下

[root@localhost soft]# cd /usr/local/
[root@localhost local]# tar -xzvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz

(2) 将解压好的文件夹重命名为mysql

[root@localhost local]# mv mysql-5.6.43-linux-glibc2.12-x86_64/ mysql
[root@localhost local]# ls
bin  etc  games  include  java  lib  lib64  libexec  mysql  redis  sbin  share  src
[root@localhost local]# 

(3) copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下

[root@localhost local]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

(4) 配置/etc目录下的my.cnf文件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 

[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M

(5) 初始化数据库

[root@localhost mysql]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql:mysql ./ 
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
[root@localhost mysql]# 
[root@localhost mysql]# 

注意如果报上面的错误,那么需要安装perl, autoconf

yum  -y install perl, autoconf

(6) mysql路径配置到PATH

vi /etc/profile
# Append these 2 lines to the end of the file:将下面两行命令增加到最后
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

#生效PATH搜索路径
source /etc/profile

(7) 启动mysql

#启动MySQL服务
service mysqld start

# 设置开机自动启动服务
chkconfig mysqld on

或者

mysqld -c /etc/my.cnf --basedir=/home/mysql \
  --datadir=/home/mysql/data \
  --plugin-dir=/home/mysql/lib/plugin \
  --user=mysql
2、cmake编译源码包安装

(1) 安装编译源码所需的工具和库(需要联网)

yum -y install wget gcc-c++ ncurses-devel cmake make perl

(2) 下载源码压缩包,下载包53M大小,有点慢。

wget
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz/

(3) 解压源码包

# 解压缩源码包
tar -zxvf mysql-5.6.11.tar.gz
#进入解压缩源码目录
cd mysql-5.6.11

(4) 从mysql5.5起,mysql源码安装开始使用cmake了,执行源码编译配置脚本

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
#编译源码,这一步时间会较长,耐心等待。

cmake 编译选项含意:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
#指定mysql安装的根目录,只要 /mysql目录存在就可以了,mysql-5.5在安装时,会自动创建。这个 值可以在服务器开机时,通过--basedir来设置。

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
#mysql服务器用于监听的套接字,这个必需是一个绝对路径,默认是/tmp/mysql.sock。在服务器吭劢 时,可通过--socket 来改变。

-DDEFAULT_CHARSET=utf8
#设置mysql默认使用utf8字符集,不指定,默认使用latin1 西欧字符集。

-DDEFAULT_COLLATION=utf8_general_ci
#默认字符校对

DWITH_EXTRA_CHARSETS=all 
#指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集

 -DWITH_MYISAM_STORAGE_ENGINE=1
 -DWITH_INNOBASE_STORAGE_ENGINE=1
  -DWITH_MEMORY_STORAGE_ENGINE=1 
 #静态编译 Myisam、Innobase、Memory 存储引擎刡 mysql 服务器。这样 mysql 服务器就支持这三 种存储引擎了。 

-DWITH_READLINE=1  #支持readline库 。

 -DENABLED_LOCAL_INFILE=1  #允许从本地导入数据 ,吭用加载本地数据

 -DMYSQL_DATADIR=/server/mysql/data  #mysql数据库存放数据的目录

-DMYSQL_USER=mysql    #指定运行mysql服务的用户 

注:具体编译参数参考: http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html 

(5) 安装

make
#安装
make install
#清除安装临时文件
make clean

(6) make生成的 /usr/local/mysql 和免编译安装包的解压出来的相同了

#修改目录拥有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

#进入安装路径
cd /usr/local/mysql

(7) 后续初始化和启动,同1,略。

四、mysql客户端登录使用

1、修改MySQL用户root的密码

(授权法,例如:你想root用户使用root密码从任何主机连接到mysql服务器)

mysql -u root(进入MySQ终端)
mysql>use mysql;(进入MySQL数据库)
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";(授权root用户使用root password从任何主机连接到mysql服务器)
mysql>update user set Password = password('123456') where User='root';(修改root用户密码为123456)
mysql>flush privileges;(特权)
mysql>exit;(退出)
# 可选:运行安全设置脚本,修改MySQL用户root(不是系统的root!)的密码,禁止root远程连接(防止破解密码),移除test数据库和匿名用户,强烈建议生产服务器使用:
/usr/local/mysql/bin/mysql_secure_installation
2、MySQL的使用
mysql [-h <主机>] [-u <用户名>] [-p] [数据库名]
●更改root管理员的密码
mysql> update mysql.user set password=password('123456') where user='root';

●添加用户admin,允许从任何地方登录MySQL服务器
mysql> insert into user(host,user,password) values("%","admin",password("pwabc"));

●刷新用户授权信息
mysql> flush privileges;

●删除MySQL的空用户
mysql> delete from mysql.user where user='';
●授予权限
GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY '密码' ]
mysql> grant select on mysql.user to admin@'localhost' identified by 'pw123';
mysql> grant all on mydb.* to admin1@'localhost' identified by '123456';
mysql> grant select on mydb.* to admin2@'192.168.0.0/24' identified by '123456';
mysql> grant select,insert on mydb.* to admin3@'%.benet.com' identified by 'pw456';

●查看权限
SHOW GRANTS FOR 用户名@域名或IP
mysql> show grants for root@'localhost';

●撤销权限
REVOKE 权限列表 on 数据库名.表名 from 用户名@域名或者IP
revoke all on mydb.* from admin3@'%.benet.com';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值