第1章 MySQL安装

1.1 安装环境

CentOS release 6.9 (Final)

iptables: Firewall is not running.

 

MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。

MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。

MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。

MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。

MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

 

安装前,我们可以检测系统是否自带安装 MySQL:

rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载:

rpm -e mysql  // 普通删除模式

rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

1.2 mysql安装方式介绍

1.rpm,yum:安装方便,安装速度快,无法定制(有依赖关系,安装依赖包)

2.二进制:不需要安装,解压即可使用,不能定制功能

3.编译安装:可定制,安装慢  

5.5之前:./configure  make  make install

5.5之后:cmake   gmake

4.先编译,然后制作rpm,制作yum库,然后yum安装

简单,速度快,可定制,比较复杂  制作时间长

5.企业选择安装方式

中小企业:以上方式都可以,运维偏向编译,dba偏向选择二进制。

大型企业:可以选择4

 

1.3 安装MySQL 数据库

MySQL安装(5.6.36)

(1)安装依赖包

     yum  install  -y  ncurses-devel libaio-devel

(2)安装cmake

        yum install cmake –y

(3)创建用户

    useradd -s /sbin/nologin -M mysql

    id mysql

配置并编译

cd /server/tools/

下载安装包

wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

ls -l mysql-5.6.36.tar.gz

尽量去官方下载

# md5sum mysql-5.6.36.tar.gz

a36a241164c78286993cbe1079626cdd  mysql-5.6.36.tar.gz

解压:

tar xf mysql-5.6.36.tar.gz

编译:

cd mysql-5.6.36

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \   ##---安装路径

-DMYSQL_DATADIR=/application/mysql-5.6.36/data \             ##---数据库存放数据

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock \ ##---数据库套接字文件位置

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_ZLIB=bundled \

-DWITH_SSL=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLE_DOWNLOADS=1 \

-DWITH_DEBUG=0

make && make install

创建软连接

ln -s /application/mysql-5.6.36/ /application/mysql

cp support-files/my*.cnf /etc/my.cnf

初始化数据库:

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

解释:初始化数据库(建库),初始化的是mysql基本运行所必须的一些“系统库”(元数据)。

授权

chown -R mysql.mysql /application/mysql/

cp support-files/mysql.server /etc/init.d/mysqld

chmod 700 /etc/init.d/mysqld

加入开机自启动中

chkconfig mysqld on

chkconfig --list mysqld

启动数据库

/etc/init.d/mysqld start

查看是否启动

netstat -lntup|grep 330

添加环境变量

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile

tail -1 /etc/profile

source /etc/profile

echo $PATH

登录数据库

mysql

设置初始密码:

root

mysqladmin -uroot -p password oldboy123

select user,host from mysql.user;      --查询数据库中已有用户

mysql 用户: 用户名@'主机域'

删除数据库中没用的用户及库

drop user ''@'db02';

drop user ''@'localhost';

drop user 'root'@'db02';

drop user 'root'@'::1';

drop user 'root'@'127.0.0.1';

select user,host from mysql.user;

删除表

drop database test;

删除库

show databases;