Mysql总结1-mysql安装

一. Mysql安装

mysql安装在linux和windows是不一样的.

  • windows: exe安装, 绿色版配置安装
  • linux: rpm,tar包,在线安装等

1.1 安装包下载

进入mysql官网社区版本下载页面
选择相应的系统,CentOS选择Red Hat Enterprise Linux / Oracle Linux即可(centos:6.8,选择的redhat linux 6).

Linux-CentOS-6.8-mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar

Windows-64位-mysql-5.7.20-winx64.zip

1.2 linux下安装

1.2.0 删除之前查看

[root@bogon mysql]# find / -name mysql
/usr/lib64/mysql
/usr/share/mysql
/etc/selinux/targeted/active/modules/100/mysql
/root/soft/mysql
[root@bogon mysql]# 

1.2.1 删除旧版本数据库

//1.删除老版本的MySQL(本次操作使用的是该方法)
//删除一
rpm -qa | grep -i mysql
yum -y remove mysql-libs*

[root@bogon soft]# rpm -qa | grep -i mysql
mysql-libs-5.1.73-7.el6.x86_64
[root@bogon soft]# yum -y remove mysql-libs*
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.1.73-7.el6 will be erased
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Processing Dependency: mysql-libs for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Running transaction check
---> Package postfix.x86_64 2:2.6.6-6.el6_7.1 will be erased
--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-15.el6_7.1.x86_64
--> Running transaction check
---> Package cronie.x86_64 0:1.4.4-15.el6_7.1 will be erased
--> Processing Dependency: cronie = 1.4.4-15.el6_7.1 for package: cronie-anacron-1.4.4-15.el6_7.1.x86_64
--> Running transaction check
---> Package cronie-anacron.x86_64 0:1.4.4-15.el6_7.1 will be erased
--> Processing Dependency: /etc/cron.d for package: crontabs-1.10-33.el6.noarch
--> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-31.el6.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package crontabs.noarch 0:1.10-33.el6 will be erased
---> Package sysstat.x86_64 0:9.0.4-31.el6 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================
 Package                  Arch             Version                        Repository                                          Size
===================================================================================================================================
Removing:
 mysql-libs               x86_64           5.1.73-7.el6                   @anaconda-CentOS-201605220104.x86_64/6.8           4.0 M
Removing for dependencies:
 cronie                   x86_64           1.4.4-15.el6_7.1               @anaconda-CentOS-201605220104.x86_64/6.8           174 k
 cronie-anacron           x86_64           1.4.4-15.el6_7.1               @anaconda-CentOS-201605220104.x86_64/6.8            43 k
 crontabs                 noarch           1.10-33.el6                    @anaconda-CentOS-201605220104.x86_64/6.8           2.4 k
 postfix                  x86_64           2:2.6.6-6.el6_7.1              @anaconda-CentOS-201605220104.x86_64/6.8           9.7 M
 sysstat                  x86_64           9.0.4-31.el6                   @anaconda-CentOS-201605220104.x86_64/6.8           826 k

Transaction Summary
===================================================================================================================================
Remove        6 Package(s)

Installed size: 15 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : sysstat-9.0.4-31.el6.x86_64                                                                                     1/6 
  Erasing    : crontabs-1.10-33.el6.noarch                                                                                     2/6 
  Erasing    : cronie-anacron-1.4.4-15.el6_7.1.x86_64                                                                          3/6 
  Erasing    : cronie-1.4.4-15.el6_7.1.x86_64                                                                                  4/6 
  Erasing    : 2:postfix-2.6.6-6.el6_7.1.x86_64                                                                                5/6 
  Erasing    : mysql-libs-5.1.73-7.el6.x86_64                                                                                  6/6 
  Verifying  : cronie-1.4.4-15.el6_7.1.x86_64                                                                                  1/6 
  Verifying  : mysql-libs-5.1.73-7.el6.x86_64                                                                                  2/6 
  Verifying  : cronie-anacron-1.4.4-15.el6_7.1.x86_64                                                                          3/6 
  Verifying  : crontabs-1.10-33.el6.noarch                                                                                     4/6 
  Verifying  : sysstat-9.0.4-31.el6.x86_64                                                                                     5/6 
  Verifying  : 2:postfix-2.6.6-6.el6_7.1.x86_64                                                                                6/6 

Removed:
  mysql-libs.x86_64 0:5.1.73-7.el6                                                                                                 

Dependency Removed:
  cronie.x86_64 0:1.4.4-15.el6_7.1         cronie-anacron.x86_64 0:1.4.4-15.el6_7.1         crontabs.noarch 0:1.10-33.el6        
  postfix.x86_64 2:2.6.6-6.el6_7.1         sysstat.x86_64 0:9.0.4-31.el6                   

Complete!




//删除二
安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载
[root@5201351 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
或者试试
rpm -e --nodeps mariadb-libs-1:5.5.52-1.el7.x86_64(以下报错通过该命令执行解决问题)
 
否则安装会报错
[root@bogon mysql]# rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm 
warning: mysql-community-common-5.7.20-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
	file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.52-1.el7.x86_64
	file /usr/share/mysql/danish/errmsg.sys from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.52-1.el7.x86_64
	file /usr/share/mysql/dutch/errmsg.sys from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.52-1.el7.x86_64
	file /usr/share/mysql/english/errmsg.sys from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.52-1.el7.x86_64
	file /usr/share/mysql/estonian/errmsg.sys from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.52-1.el7.x86_64
	file /usr/share/mysql/french/errmsg.sys from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.52-1.el7.x86_64
	


[root@5201351 ~]# rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps


附:卸载mariadb(总有一个适合)
systemctl stop mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64



//确定是否都删干净了.
find / -name mysql


1.2.2 tar安装

1.2.2.1 准备安装文件
//1.准备安装文件包
//1.1 新建文件夹保存tar文件
[root@bogon ~]# mkdir soft
[root@bogon ~]# mv mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar soft/
//1.2.解压tar包
[root@bogon soft]# tar -xvf mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar 
mysql-community-libs-5.7.19-1.el6.x86_64.rpm        #MySQL的库文件
mysql-community-devel-5.7.19-1.el6.x86_64.rpm    #MySQL的头文件
mysql-community-embedded-5.7.19-1.el6.x86_64.rpm    #MySQL的嵌入式程序
mysql-community-common-5.7.19-1.el6.x86_64.rpm  #mysql公用包
mysql-community-libs-compat-5.7.19-1.el6.x86_64.rpm
mysql-community-server-5.7.19-1.el6.x86_64.rpm  #MySQL服务端程序
mysql-community-test-5.7.19-1.el6.x86_64.rpm
mysql-community-embedded-devel-5.7.19-1.el6.x86_64.rpm
mysql-community-client-5.7.19-1.el6.x86_64.rpm   #MySQL客户端程序
[root@bogon soft]# 

进行mysql服务安装,需要以下rpm,按照顺序进行

//1.3 准备以下文件待使用
mysql-community-common-5.7.19-1.el6.x86_64.rpm  //mysql公用包
mysql-community-libs-5.7.19-1.el6.x86_64.rpm        //MySQL的库文件,依赖于common
mysql-community-client-5.7.19-1.el6.x86_64.rpm   //MySQL客户端程序,依赖于libs
mysql-community-server-5.7.19-1.el6.x86_64.rpm  //MySQL服务端程序,依赖于client、common

//如果直接安装rpm会报下错:
[root@bogon ~]#  rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm 
warning: mysql-community-server-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
	mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.19-1.el6.x86_64
	mysql-community-common(x86-64) = 5.7.19-1.el6 is needed by mysql-community-server-5.7.19-1.el6.x86_64
[root@bogon ~]# 
1.2.2.2 安装数据库
//2.安装数据库
//2.1安装前查看文件效果
[root@bogon soft]# find / -name mysql
[root@bogon soft]# 

//2.2 按照顺序按照rpm包
[root@bogon soft]# rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm 
warning: mysql-community-common-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql-community-common ########################################### [100%]
[root@bogon soft]# rpm -ivh mysql-community-libs-5.7.19-1.el6.x86_64.rpm 
warning: mysql-community-libs-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql-community-libs   ########################################### [100%]
[root@bogon soft]# rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64.rpm 
warning: mysql-community-client-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql-community-client ########################################### [100%]
[root@bogon soft]# rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm 
warning: mysql-community-server-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql-community-server ########################################### [100%]
[root@bogon soft]# 

//2.3 查看下安装后的效果
[root@bogon soft]# find / -name mysql
/var/lib/mysql
/etc/logrotate.d/mysql
/usr/share/mysql
/usr/lib64/mysql
/usr/bin/mysql
[root@bogon soft]# 

安装中的问题

root@bogon mysql]# rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm 
warning: mysql-community-server-5.7.20-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
	libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.20-1.el7.x86_64
	libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.20-1.el7.x86_64
	libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.20-1.el7.x86_64
[root@bogon mysql]# yum install libnuma*

1.2.2.3 初始化数据库
//3.1 初始化数据库
//3.1.1 初始化数据库方法一(本次操作用该种方法,根据提示查看更建议使用方法二)
//3.1.1.1 执行命令
//必须指定datadir,(/usr/bin/mysql_install_db)
//执行后会生成~/.mysql_secret密码文件 (/root/.mysql_secret)
[root@bogon bin]# mysql_install_db --datadir=/var/lib/mysql
2017-10-07 20:36:21 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
//3.1.1.2 查看/etc/my.cnf文件产生了
[root@bogon soft]# ll /etc/my.cnf
-rw-r--r--. 1 root root 960 Jun 22 08:30 /etc/my.cnf

//3.1.2  初始化数据库方法二:
[root@5201351 ~]# mysqld --initialize           
//新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码
 
//3.2 赋给mysql用户权限并启动服务
[root@bogon bin]#chown mysql:mysql /var/lib/mysql -R
如果不赋给权限会启动报错.
[root@bogon soft]# service mysqld start
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

//3.3 查看安装目录 
[root@bogon ~]# cd /var/lib/mysql
[root@bogon mysql]# ll
total 110652
-rw-r-----. 1 mysql mysql       56 Oct  7 20:36 auto.cnf
-rw-------. 1 mysql mysql     1679 Oct  7 20:36 ca-key.pem
-rw-r--r--. 1 mysql mysql     1074 Oct  7 20:36 ca.pem
-rw-r--r--. 1 mysql mysql     1078 Oct  7 20:36 client-cert.pem
-rw-------. 1 mysql mysql     1679 Oct  7 20:36 client-key.pem
-rw-r-----. 1 mysql mysql      420 Oct  7 20:36 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 Oct  7 20:36 ibdata1
-rw-r-----. 1 mysql mysql 50331648 Oct  7 20:36 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Oct  7 20:36 ib_logfile1
drwxr-x---. 2 mysql mysql     4096 Oct  7 20:36 mysql
drwxr-x---. 2 mysql mysql     4096 Oct  7 20:36 performance_schema
-rw-------. 1 mysql mysql     1679 Oct  7 20:36 private_key.pem
-rw-r--r--. 1 mysql mysql      451 Oct  7 20:36 public_key.pem
-rw-r--r--. 1 mysql mysql     1078 Oct  7 20:36 server-cert.pem
-rw-------. 1 mysql mysql     1675 Oct  7 20:36 server-key.pem
drwxr-x---. 2 mysql mysql    12288 Oct  7 20:36 sys
//3.4 查看/etc/my.cnf
[root@bogon etc]# more /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysq

//3.5 启动msyql服务
[root@bogon etc]# service mysqld start
Starting mysqld:                                           [  OK  ]
[root@bogon etc]# 
 
//3.6查看端口
netstat -atln 

[root@bogon etc]# netstat -atln 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0     64 192.168.17.129:22           192.168.17.1:52520          ESTABLISHED 
tcp        0      0 192.168.17.129:22           192.168.17.1:60942          ESTABLISHED 
tcp        0      0 192.168.17.129:22           192.168.17.1:51222          ESTABLISHED 
tcp        0      0 192.168.17.129:22           192.168.17.1:52611          ESTABLISHED 
tcp        0      0 192.168.17.129:46672        23.33.178.25:80             ESTABLISHED 
tcp        0      0 :::3306                     :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
[root@bogon etc]# 

//3306端口已经监听.说明启动成功
1.2.2.4 服务端登录连接查看数据库
//4.1 查看默认密码,准备登陆,并重设密码
root@bogon mysql]#  cat /root/.mysql_secret  
# Password set for user 'root@localhost' at 2017-10-07 20:36:21 
;g(%3xp4eiTX
[root@bogon mysql]# 

如果用的是第二种初始化方法,密码位置为  
[root@bogon mysql]# more /var/log/mysqld.log
2017-11-22T06:03:58.568894Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-11-22T06:03:59.827641Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-11-22T06:04:00.103434Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-11-22T06:04:00.216796Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: eefcdbee-cf4a-11e7-
8dc1-5254000cbc62.
2017-11-22T06:04:00.238617Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-11-22T06:04:00.239169Z 1 [Note] A temporary password is generated for root@localhost: Os3aWF-#<1eo

//4.2.1 登陆连接数据库
[root@bogon etc]# mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.19

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

//4.2.2 提示必须要重设密码
mysql> show variables like '%char%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> 
//4.3 重置用户密码
mysql> alter user 'root'@'localhost'  identified  by  '111111';
Query OK, 0 rows affected (0.00 sec)
mysql> 
[root@bogon etc]# service mysqld restart;
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@bogon etc]#
//4.4.1 查看数据库编码
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

发现 character_set_database与character_set_server 使用的是西欧编码
更改下编码准备修改为utf8编码

//4.4.2 修改数据库编码为utf8编码
mysql> 
mysql> exit;
Bye
[root@bogon etc]# vim /etc/my.cnf
在my.cnf中的mysqld 中增加
character_set_server=utf8
init_connect='SET NAMES utf8'
追加完如下

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


character_set_server=utf8
init_connect='SET NAMES utf8'
~                                                                                                                                  
~                                        

保存, 重启mysql
[root@bogon soft]# service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@bogon soft]# 

//4.4.3 查看修改数据库编码后的编码

[root@bogon etc]# mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> exit;
Bye

//4.5重启mysql服务
[root@bogon etc]# service mysqld restart;
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@bogon etc]#

1.2.2.5 远程登录连接查看数据库

前面的操作此时可以在本机连接了.
下面开启远程连接.

//5.1 连接服务
[root@bogon etc]# mysql -uroot -p 

mysql>  show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> 
//5.2 使用msyql数据库
mysql> use mysql;
//5.3 查看表结构
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
31 rows in set (0.02 sec)

mysql> 

//5.4 查看连接权限表结构
mysql> select host, user from user; 
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.02 sec)

//5.5 修改数据开启连接host限制
mysql> update user set host = '%' where user = 'root'; 
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0
//5.6 查看开启后的结果
mysql> select host, user from user; 
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
+-----------+---------------+
3 rows in set (0.00 sec)

//5.7 刷新权限,这个很关键哟
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.06 sec)

mysql> 

//5.6 开启远程连接防火墙
//防火墙中增加端口允许-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[root@bogon Desktop]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

//5.8 重启防火墙
[root@bogon Desktop]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
[root@bogon Desktop]# 

此时也可以通过远程连接数据库服务了.

1.3 windows下安装

安装包下载地址
接下后点击exe执行:

[外链图片转存失败(img-fhEnvZ91-1562426378190)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-1.png)]
[外链图片转存失败(img-XG43EodZ-1562426378191)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-2.png)]
[外链图片转存失败(img-S68LUzt8-1562426378193)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-3.png)]
[外链图片转存失败(img-OuFitBPO-1562426378193)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-4.png)]
Mysql-windows安装-5
[外链图片转存失败(img-irlAKhGm-1562426378194)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-6.png)]
[外链图片转存失败(img-MVSSy32l-1562426378194)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-7.png)]
[外链图片转存失败(img-cQrGaOYZ-1562426378195)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-8.png)]
[外链图片转存失败(img-xmm44r7L-1562426378196)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-9.png)]
[外链图片转存失败(img-BuQX0yMY-1562426378196)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-10.png)]
[外链图片转存失败(img-67ZTKqgN-1562426378196)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-11.png)]
[外链图片转存失败(img-9JKihN5S-1562426378197)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-12.png)]
[外链图片转存失败(img-vLsrS2kZ-1562426378197)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-13.png)]
[外链图片转存失败(img-QkQvWRJH-1562426378197)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-14.png)]
[外链图片转存失败(img-q1gxNAG9-1562426378198)(https://raw.githubusercontent.com/bobshute/public/master/imgs/csdn/Mysql/安装/windows/Mysql-windows安装-15.png)]
(注:以上截图来自网络文档)
一个机器安装2个,需要版本不能一样,并且要配置文件修改my.ini(C:\ProgramData\MySQL\MySQL Server 5.7\my.ini)中的port修改为如3307,mysql_connect也要修改为3307.

2.服务命令总结

2.1 开启/关闭服务

windows服务安装移除
D:\MySQL\mysql-5.7.13\bin>mysqld -remove
Service successfully removed.
D:\MySQL\mysql-5.7.13\bin>mysqld --initialize
D:\MySQL\mysql-5.7.13\bin>mysqld --install
Service successfully installed.

linux
service mysqld start; //启动
service mysqld stop; //关闭
service mysqld restart; //重启

windows-服务开启关闭
Net start 服务名(默认msyql)
Net stop 服务名(默认msyql)
mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57



2.2 数据库连接、建表、建用户、授权

//1.基本操作
mysql -h  localhost -P3306 -uroot  -p
Enter password:******
mysql>show databases;
mysql>user database_name;
mysql>show tables;

//2.数据库
//创建数据库
mysql>create database database_test;
//使用数据
mysql>user database_test;
//删除数据库
mysql> drop database databaseTest

//3.用户
//创建用户设置密码
mysql>CREATE USER 'usertest'@'localhost' IDENTIFIED BY '111111';
//删除用户
mysql>DROP USER 'usertest'@'localhost';
//设置密码
SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
//修改当前登录用户密码
SET PASSWORD = PASSWORD("123456"); 
 

//4.授权相关
//授权(指定库和表即*.*,*代表全部也可指定库和表,授权是to)
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON databasename.tablename TO 用户名@localhost IDENTIFIED BY '密码';
//授权所有表操作给用户usertest
mysql>GRANT select,insert,update,delete  ON * TO 'usertest'@'localhost' 
//撤销授权(指定库和表或*.*,*代表全部也可指定库和表,撤销权是from)
REVOKE privilege ON databasename.tablename FROM 数据库名@localhost; 
mysql>REVOKE select   ON * from 'usertest'@'localhost' ;
//查看权限
SHOW GRANTS FOR 'usertest'@'localhost';

//5.其它
//查看数据库版本
mysql> select version(); 
//查看数据库时间
mysql> select now(); 

3.常用的mysql的参数配置

my.cnf

basedir=D:\mysql-5.7.11-winx64

datadir=D:\mysql-5.7.11-winx64\data

port=3306

# 允许最大连接数
max_connections = 200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server = utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine = INNODB 

[client] 

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

# 区分大小写和不区分大小写(0:大小写敏感;1:大小写不敏感)
lower_case_table_names=1

/*
注意:只能通过配置改变,不能通过sql修改
mysql> set lower_case_table_names=1;
ERROR 1238 (HY000): Variable 'lower_case_table_names' is a read only variable
*/

4.bin文件简单解读

D:\MySQL\mysql-5.7.13\bin
共39个文件.其中exe工具35个.还有其它(mysqld.pdb,mysql_config.pl,mysqld_multi.pl,mysqldumpslow.pl)

bin目录下文件

4.1 mysqld

mysql daemon 在后台运行,默认监听3306端口
mysqld是MySQL的主程序,The MySQL Server

//随机给一个root的密码 
mysqld --initialize --console
service mysqld start; //启动
service mysqld stop; //关闭
service mysqld restart; //重启


//–console这个选项是把日志输出到命令行,否则就会把日志输出到datadir目录的xx.err文件中
mysqld --console

4.2 mysql

mysql是MySQL的命令行工具 ; The MySQL Command-Line Tool

//登录
mysql -u root --password=上面分配的随机密码

4.3 mysqladmin

mysqladmin [OPTIONS] command [command-option] command …

command如下:
 
create databasename             创建一个新数据库
drop databasename               删除一个数据库及其所有表
extended-status                 给出服务器的一个扩展状态消息
flush-hosts                     洗掉所有缓存的主机
flush-logs                      洗掉所有日志 
flush-tables                    洗掉所有表 
flush-privileges                再次装载授权表(同reload) 
kill id,id,...                  杀死mysql线程 
password                        新口令,将老口令改为新口令
ping                            检查mysqld是否活着 
processlist                     显示服务其中活跃线程列表
reload                          重载授权表 
refresh                         洗掉所有表并关闭和打开日志文件
shutdown                        关掉服务器 
status                          给出服务器的简短状态消息
variables                       打印出可用变量
version                         得到服务器的版本信息

4.4 全部列表

共39项

1.echo.exe
2.innochecksum 增强的离线分析工具
my_print_defaults 打印信息到client
    my_print_defaults --defaults-file=example.cnf client mysql 将example.cnf中的信息打印到client中。
    可以使用my_print_defaults --help查看说明
3.libmecab.dll
4.lz4_decompress.exe 官方链接: https://dev.mysql.com/doc/refman/5.7/en/lz4-decompress.html
5.msvcp120.dll
6.msvcr120.dll
7.my_print_defaults.exe
8.myisam_ftdump.exe
9.myisamchk.exe
    myisamchk的功能有点类似“mysql -c/-r”,可以检查和修复MyISAM存储引擎的表,
    但只对myisam存储引擎的索引文件有效,不用登陆mysqlserver即可完成操作。
10.myisamlog.exe
11.myisampack.exe
     对myisam表进行压缩处理,以缩减占用的存储空间,一般主要用在归档备份的场景下,而且压缩后的myisam表会变成
     只读,不能进行任何修改操作。当我们归档备份某些历史数据表,希望该表能够提供高效的查询服务时,就可以通过
     myisam工具对myIsam表进行压缩。素虽然更换成archive存储引擎也能够将变成只读的压缩表,但是archive表是不支
     持索引的,而压缩后的myisam表任然可以使用其索引。
12.mysql.exe
13.mysql_client_test_embedded.exe
14.mysql_config.pl
15.mysql_config_editor.exe
16.mysql_embedded.exe
17.mysql_plugin.exe
18.mysql_secure_installation.exe
19.mysql_ssl_rsa_setup.exe
20.mysql_tzinfo_to_sql.exe
21.mysql_upgrade.exe
22.mysqladmin.exe
23.mysqlbinlog.exe
    mysqlbinlog 程序的主要功能就是分析mysqlserver所产生的二进制日志即binlog,当我们希望通过之前备份的binlog
    做一些时间之类的恢复时,mysqlbinlog可以帮助找出恢复操作须要做哪些事情。通过mysqlbinlog,可以把binlog中
    指定时间段或指定日志起始和结束位置的内容解释成query语句,并导出到指定的文件中,在解释的过程中,还可以通
    过指定数据库名称来过滤输出内容。
24.mysqlcheck.exe
     mysqlcheck工具程序可以检查、修复、分析和优化mysql server中的表,但并不是所有的存储引擎都支持这四项功能,
     像Innodb就不支持修复功能。实际上,mysqlcheck程序的四项功能都可以通过mysql连接到mysql server之后来实现。
25.mysqld.exe
26.mysqld.pdb
27.mysqld_multi.pl
28.mysqldump.exe
    mysqldump 工具其功能就是将mysqlserver中的数据以QUERY语句的形式导出(dump)成文本文件。虽然mysqldump是作
    为一种逻辑备份工具为大家所认识,但是称它为QUERY生成导出工具更合适一点,因为通过mysqldump所生成的文件,
    全部是QUERY语句,包括数据库和表的创建语句。通过给mysqldump程序加-T选项参数,可以生成其它指定格式的文本
    文件,这项功能实际上是调用mysql中的“select * into OUTFILE from ...”语句实现的,也可以通过“-d --no-data”
    仅仅生成结构创建的语句,当生成QUERY语句的时候,字符集设置这一项比较关键,建议每次执行Mysqldump程序的时
    候都通过尽量做到 “-default-charseter-set=name”显式指定字符集内容,防止以错误的字符集生成不可用的内容,
    mysqldump所生成的SQL文件可以通过mysql工具执行。
29.mysqldumpslow.pl
30.mysqlimport.exe  
     mysqlimport 程序将以特定格式存放的文本数据导入指定的mysqlserver中,比如将一个标准的csv文件导入指定数据库的指定表中。
     mysqlimport工具实际上只是“LOAD DATA INFILE” 命令的一个包装实现
31.mysqlpump.exe
32.mysqlshow.exe
33.mysqlslap.exe
34.mysqltest_embedded.exe
35.mysqlxtest.exe
36.perror.exe
37.replace.exe
38.resolveip.exe
39.zlib_decompress.exe

5.常用命令总结

启动数据库
service mysql start

数据备份数据:
mysqldump -h192.168.1.1 -uroot -ppassword1 -P3306 db1 > db1.sql
数据库还原数据:
mysql -h192.168.1.2 -uroot -ppassword2 db1 <  db1.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值