MySQL简介及安装
MySQL安装
1. rpm、yum安装
安装方便、安装速度快,无法定制
2. 二进制
不需要安装,解压即可使用,不能定制功能
3. 编译安装
可定制,安装慢,步骤复杂
#定制功能:存储引擎、字符集、压缩
#定制安装位置、数据存放位置、文件位置(socket)
#下载5.6.36包 [root@db02 ~]# wget -q https://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz #安装epel源 [root@db02 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-6.repo #安装依赖包 [root@db02 ~]# yum install -y ncurses-devel libaio-devel #安装cmake [root@db02 ~]# yum install -y cmake #创建用户 [root@db02 ~]# useradd mysql -s /sbin/nologin -M #修改hosts [root@db02 ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.52 db02 #解压MySQL源码包 [root@db02 tools]# tar xf mysql-5.6.36.tar.gz #进入MySQL目录 [root@db02 tools]# cd mysql-5.6.36 #生成及编译参数 [root@db02 mysql-5.6.36]# #程序存放位置 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \ #数据存放位置 -DMYSQL_DATADIR=/application/mysql-5.6.38/data \ #socket文件存放位置 -DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \ #使用utf8字符集 -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 \ #启用zlib库支持(zib、gzib相关) -DWITH_ZLIB=bundled \ #启用SSL库支持(安全套接层) -DWITH_SSL=bundled \ #启用本地数据导入支持 -DENABLED_LOCAL_INFILE=1 \ #编译嵌入式服务器支持 -DWITH_EMBEDDED_SERVER=1 \ # mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。 -DENABLE_DOWNLOADS=1 \ #禁用debug(默认为禁用) -DWITH_DEBUG=0 #编译 [root@db02 mysql-5.6.36]# make #安装 [root@db02 mysql-5.6.36]# make install #做软链接 [root@db02 mysql-5.6.36]# ln -s /application/mysql-5.6.38/ /application/mysql #拷贝配置文件 [root@db02 mysql-5.6.36]# cp support-files/my*.cnf /etc/my.cnf #拷贝mysql启动脚本 [root@db02 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld #进入MySQL初始化脚本目录 [root@db02 mysql-5.6.36]# cd /application/mysql/scripts/ #初始化MySQL [root@db02 mysql-5.6.36]# ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql #授权 [root@db02 mysql-5.6.36]# chown -R mysql.mysql /application/mysql/ #给启动脚本授权700 [root@db02 mysql-5.6.36]# chmod 700 /etc/init.d/mysqld #systemd管理mysql启动 [root@db02 mysql-5.6.36]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 #设置开机自启动 [root@db02 mysql-5.6.36]# chkconfig mysqld on #设置开机自启动C7 [root@db02 mysql-5.6.36]# systemctl enable mysqld #启动MySQLC6 [root@db02 mysql-5.6.36]# /etc/init.d/mysqld start #启动MySQLC7 [root@db02 mysql-5.6.36]# systemctl start mysqld #创建tmp目录(5.6.36版本不会自动创建tmp目录) [root@db02 mysql-5.6.36]# mkdir /application/mysql-5.6.36/tmp #添加环境变量 [root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile #个人推荐 [root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh [root@db02 ~]# source /etc/profile.d/mysql.sh #设置MySQL密码 [root@db02 ~]# mysqladmin -uroot password 'oldboy123' #MySQL登陆 [root@db02 ~]# mysql -uuser -ppassword -Ssocket -hhost #MySQL基本操作及基本优化 #查看库 mysql> show databases; #删库 mysql> drop database test; #使用库 mysql> use mysql #查看表 mysql> show tables; #查看当前所在库 mysql> select database(); #查看mysql用户 mysql> select user,host from user; mysql> select user,host,password from user; #删除用户 mysql> select user,host from user; mysql> drop user ''@'db02'; mysql> drop user root@db02; mysql> drop user root@'::1'; mysql> drop user root@'127.0.0.1';