mysql二进制安装及基础操作

mysql二进制安装及基础操作

环境说明:

系统版本    CentOS 6.9 x86_64

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

1、安装

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

  1. [root@db01 ~]# mkdir -p /service/tools  #创建目录  
  2. [root@db01 tools]# mkdir /application  
  3. [root@db01 ~]# cd /service/tools/  
  4. wget -c 断点续传  
  5. [root@db01 tools]# wget -c  http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz       #下载二进制包  
  6. [root@db01 tools]# tar xf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz     #解压  
  7. [root@db01 tools]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /application/mysql5.6.36   #移动  
  8. [root@db01 tools]# ln -s /application/mysql5.6.36 /application/mysql    #创建软链接  
  9. [root@db01 tools]# ll /application/  
  10. [root@db01 tools]# useradd -M -s /sbin/nologin -r -u 90 mysql   #创建mysql用户  

 

2、初始化mysql数据库实例

  1. [root@db01 tools]# cd /application/mysql/  
  2. [root@db01 mysql]# ls  
  3. [root@db01 mysql]# ./scripts/mysql_install_db --help          
  4. [root@db01 mysql]#   
  5. ./scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data    
  6. #脚本实例化  
  7. [root@db01 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. [root@db01 mysql]# file support-files/mysql.server  #查看文件类型  
  2. support-files/mysql.server: POSIX shell script text executable  
  3. [root@db01 mysql]# cp support-files/mysql.server /etc/init.d/mysqld #拷贝启动脚本到/etc/init.d目录,便于启动  
  4. [root@db01 mysql]# vim /etc/init.d/mysqld       #修改启动脚本4647行指定basedirdatadir  
  5. basedir=/application/mysql  
  6. datadir=/application/mysql/data  
  7. [root@db01 mysql]# cp support-files/my-default.cnf /etc/my.cnf #拷贝配置文件  

 

4、启动

  1. [root@db01 mysql]# /etc/init.d/mysqld start #启动  
  2. Starting MySQL.Logging to '/application/mysql/data/db01.err'.  
  3. ... SUCCESS!  
  4. [root@db01 mysql]# netstat -lntup|grep 3306 #3306端口  
  5. tcp        0      0 :::3306                     :::*                        LISTEN      2197/mysql  
  6. [root@db01 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. [root@db01 mysql]# ln -s /application/mysql/bin/* /usr/bin/ #创建命令软链接  
  2. [root@db01 mysql]# mysql_secure_installation    mysql去安全隐患  

5.1 登录并退出

  1. mysql       登录  
  2. exitquit   退出  

5.2 密码不为空登录mysql

  1. [root@db01 mysql]# mysql -uroot -p123456  
  2.   
  3. [root@db01 mysql]# mysql -uroot -p  根据提示再输入密码  

5.3 修改mysql的root密码

  1. 当密码为空(第一次使用)  
  2. [root@db01 mysql]# mysqladmin -uroot password '123456'  
  3. Warning: Using a password on the command line interface can be insecure.  
  4. 提示在命令行的明文密码不安全,可以通过history -d+历史命令序号来删除历史记录  
  5. 当密码不为空  
  6. [root@db01 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 test2@'localhost' identified by '123456';  
  3. mysql> grant all on *.* to root@'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  

 

博主原创文章,转载请务必注明出处

原文地址:https://www.cnblogs.com/ssgeek/p/9223365.html