mysql二进制安装及基础操作

环境说明:

系统版本    CentOS 6.9 x86_64

软件版本    mysql-5.6.36-linux-glibc2.5-x86_64

1、安装

采用二进制方式安装(绿色版,解压就能用)

  1. [[email protected] ~]# mkdir -p /service/tools  #创建目录  

  2. [[email protected] tools]# mkdir /application  

  3. [[email protected] ~]# cd /service/tools/  

  4. wget -c 断点续传  

  5. [[email protected] tools]# wget -c  http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz       #下载二进制包  

  6. [[email protected] tools]# tar xf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz     #解压  

  7. [[email protected] tools]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /application/mysql5.6.36   #移动  

  8. [[email protected] tools]# ln -s /application/mysql5.6.36 /application/mysql    #创建软链接  

  9. [[email protected] tools]# ll /application/  

  10. [[email protected] tools]# useradd -M -s /sbin/nologin -r -u 90 mysql   #创建mysql用户  

 

2、初始化mysql数据库实例

  1. [[email protected] tools]# cd /application/mysql/  

  2. [[email protected] mysql]# ls  

  3. [[email protected] mysql]# ./scripts/mysql_install_db --help          

  4. [[email protected] mysql]#   

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

  6. #脚本实例化  

  7. [[email protected] mysql]# ls /application/mysql/data/    

  8. ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  test  

成功后有两个OK,实例化需要用到tmp目录,若tmp目录权限不是1777,则无法实例化,恢复继续实例化需要先执行命令删除rm -rf /application/mysql/data实例化产生的目录

Centos7在实例化时若报错

FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:

Data::Dumper

解决方法

yum-y install autoconf

3、配置

  1. [[email protected] mysql]# file support-files/mysql.server  #查看文件类型  

  2. support-files/mysql.server: POSIX shell script text executable  

  3. [[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld #拷贝启动脚本到/etc/init.d目录,便于启动  

  4. [[email protected] mysql]# vim /etc/init.d/mysqld       #修改启动脚本46和47行指定basedir和datadir  

  5. basedir=/application/mysql  

  6. datadir=/application/mysql/data  

  7. [[email protected] mysql]# \cp support-files/my-default.cnf /etc/my.cnf #拷贝配置文件  

 

4、启动

  1. [[email protected] mysql]# /etc/init.d/mysqld start #启动  

  2. Starting MySQL.Logging to '/application/mysql/data/db01.err'.  

  3. ... SUCCESS!  

  4. [[email protected] mysql]# netstat -lntup|grep 3306 #3306端口  

  5. tcp        0      0 :::3306                     :::*                        LISTEN      2197/mysql  

  6. [[email protected] mysql]# ps -ef|grep mysql  

  7. root       2090      1  0 15:04 pts/0    00:00:00 /bin/sh /application/mysql/bin/mysqld_safe --datadir=/application/mysql/data --pid-file=/application/mysql/data/db01.pid  

  8. mysql      2197   2090  0 15:04 pts/0    00:00:01 /application/mysql/bin/mysqld --basedir=/application/mysql --datadir=/application/mysql/data --plugin-dir=/application/mysql/lib/plugin --user=mysql --log-error=/application/mysql/data/db01.err --pid-file=/application/mysql/data/db01.pid  

  9. root       2244   1668  0 15:20 pts/0    00:00:00 grep mysql  

 

5、mysql的基础操作

  1. [[email protected] mysql]# ln -s /application/mysql/bin/* /usr/bin/ #创建命令软链接  

  2. [[email protected] mysql]# mysql_secure_installation    mysql去安全隐患  

5.1 登录并退出

  1. mysql       登录  

  2. exit或quit   退出  

5.2 密码不为空登录mysql

  1. [[email protected] mysql]# mysql -uroot -p123456  

  2. 或  

  3. [[email protected] mysql]# mysql -uroot -p  根据提示再输入密码  

5.3 修改mysql的root密码

  1. 当密码为空(第一次使用)  

  2. [[email protected] mysql]# mysqladmin -uroot password '123456'  

  3. Warning: Using a password on the command line interface can be insecure.  

  4. 提示在命令行的明文密码不安全,可以通过history -d+历史命令序号来删除历史记录  

  5. 当密码不为空  

  6. [[email protected] mysql]# mysqladmin -uroot -p password '123456'  

  7. Enter password: #输入原密码回车  

5.4 查看数据库

  1. mysql> show databases;  

5.5 进入(切换)数据库

  1. mysql> use mysql;        #切换到mysql数据库  

  2. Reading table information for completion of table and column names  

  3. You can turn off this feature to get a quicker startup with -A  

  4.     

  5. Database changed  

5.6 查看有哪些表

  1. mysql> use mysql;  

  2. mysql> show tables;  

5.7 创建数据库

  1. mysql> create database test1;  

  2. Query OK, 1 row affected (0.03 sec)  

5.8 数据库授权

  1. 把数据库授权给test2用户,密码为123456,限制登录地址  

  2. mysql> grant all on test1.* to [email protected]'localhost' identified by '123456';  

  3. mysql> grant all on *.* to [email protected]'localhost' identified by '123456';  #授权所有库给root  

5.9 删除数据库

  1. mysql> drop database test;  

5.10 备份数据库

  1. mysqldump -uroot-p123456 mydb> mydb.sql  备份一个数据库  

  2. mysqldump -uroot -p123456 -A >back_bak.sql   -A 备份所有数据库,blog_bak.sql为指定的备份库名称  

  3. mysqldump -uroot -p123456 -B blog >blog_bak.sql  -B用于备份一个或多个多个数据库  

5.11 还原数据库

  1. mysql -uroot -p123456 <blog_bak.sql