【环境搭建】安装MySQL

2019-12-22  本文已影响0人  KL2的杂货铺

MySQL 是目前最流行的关系型数据库管理系统,其具有以下特点:

本篇文章将从Window和Linux两个系统中对MySQL进行安装和配置。


1. Window下MySQL的安装与配置

1.1 下载MySQL

目前MySQL版本已经更新到MySQL8,官方宣传新的版本在很多方面得到了提升。但为了追求稳定,建议大家选用MySQL5.7版本。

进入MySQL官网(https://dev.mysql.com/downloads/mysql/),选择MySQL Community Server(社区版,该版本完全免费,但官方不支持技术支持),根据Window系统是32位还是64位,选择合适的5.7版本。

1.2 安装MySQL

下载完后,将 zip 包解压到相应的目录(一定要选用英文文件夹,以避免出现不必要的错误)。这里将解压后的文件夹放在 D:\mysql-5.7.28 下。解压后的文件如下图所示:

1.3 配置MySQL

1)配置环境变量
MySQL安装目录下有一个bin目录,这个目录里是MySQL的核心内容,里面包含一些可执行的文件或脚本。通过配置系统环境变量,可以直接在终端执行相关命令。下面介绍怎样手动配置环境变量。具体操作步骤如下:

  1. 桌面右键我的电脑 --> 属性 --> 高级系统属性 --> 高级。

  2. 点击环境变量(N) --> 在系统变量中选择path变量。

  3. 单击编辑,在编辑系统对话框中,将MySQL应用程序的bin目录(D:\mysql-5.7.28\bin)添加到变量值当中,用分号将其与其他路径分隔开。

  4. 点击确定,这样就完成了配置环境变量的操作。

2)更改MySQL配置
接下来,还需要对MySQL进行一些基本配置。在MySQL文件夹中新建my.ini配置文件,编辑my.ini配置以下基本信息:

# MySQL客户端参数
[client]
# 设置MySQL客户端默认字符集
default-character-set=utf8

# MySQL服务端参数
[mysqld]
# 设置3306端口
port = 3306
# 设置MySQL安装目录
basedir =D:\\mysql-5.7.28
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
1.4 启动及登录MySQL

1) 启动MySQL

  1. 以管理员身份打开CMD命令行工具,切换目录。
C:\Users\Administrator> d:
d:\> cd d:/mysql-5.7.28/bin
  1. 执行以下命令:
d:\mysql-5.7.28\bin> mysqld --initialize-insecure --user=mysql

将看到在安装目录下,多出一个data文件夹。

  1. 输入以下命令,安装MySQL服务,出现“Service successfully installed”,代表服务安装成功:
d:\mysql-5.7.28\bin> mysqld --install mysql5.7 --defaults-file="D:\\mysql-5.7.28\\my.ini"
Service successfully installed.
  1. 输入以下命令,启动MySQL服务:
d:\mysql-5.7.28\bin> net start mysql5.7
mysql5.7 服务正在启动 .
mysql5.7 服务已经启动成功。

2)登录MySQL
当MySQL服务已经运行时,可通过MySQL自带的客户端工具登录MySQL数据库中,输入以下格式命令:

mysql -h 主机名 -u 用户名 -p

如果需要登录本机的MySQL数据库,只需输入以下命令:

mysql -u root -p

按回车确认,若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后如下图所示:

1.5 修改MySQL数据库的用户名和密码

1)修改数据库用户名

# 进入数据库
mysql> use mysql
Database changed
# 更改用户名
mysql> update user set user='Newname' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 查询目前已有的用户名
mysql> select user from mysql.user;
+---------------+
| user          |
+---------------+
| Newname       |
| mysql.session |
| mysql.sys     |
+---------------+
3 rows in set (0.00 sec)

2)修改数据库的登录密码

# 修改数据库登录密码
mysql> alter user 'root'@'localhost' identified by 'youpassword';
# 刷新权限
mysql> flush privileges;

其中root为使用者的用户名,youpassword为要修改的新密码,修改完以后,继续刷新一次数据库,就可以使用自己修改过得密码登录了。


2. Linux下MySQL的安装与配置

2.1 下载MySQL

同样到MySQL官网进行下载,Linux版本的MySQL推荐下载Linux-Generic版本。

2.2 安装MySQL
  1. 使用Xftp工具将下载好的安装包上传到Linux上。

  2. 创建用户组及用户名

# 添加用户组
[root@localhost ~]# groupadd mysql
# 新建mysql用户
[root@localhost ~]# useradd -r -g mysql mysql  
  1. 安装依赖
[root@localhost ~]# yum install -y libaio
  1. 解压并创建快捷链接
# 解压
[root@localhost ~]# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# 进入解压后的文件夹
[root@localhost ~]# cd /usr/local
# 创建快捷链接
[root@localhost local]# ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
  1. 添加环境变量
[root@localhost local]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
[root@localhost local]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
[root@localhost local]# source /etc/profile
[root@localhost local]# source ~/.bashrc
  1. 创建数据和日志目录
# 创建目录
[root@localhost local]# mkdir -p /data/mysql/{data,binlogs,log}
[root@localhost local]# mkdir -p /usr/local/mysql/{etc,run}
# 创建快捷链接
[root@localhost local]# ln -sv /data/mysql/data/ /usr/local/mysql/data
[root@localhost local]# ln -sv /data/mysql/log/ /usr/local/mysql/log
[root@localhost local]# ln -sv /data/mysql/binlogs/ /usr/local/mysql/binlogs
# 授予权限
[root@localhost local]# chown -R mysql.mysql /data/mysql/
[root@localhost local]# chown -R mysql.mysql /usr/local/mysql/{data,binlogs,log,etc,run}
  1. 配置my.cnf
# 配置my.cnf
[root@localhost local]#  vi /usr/local/mysql/etc/my.cnf
# 创建快捷链接
ln -sv /usr/local/mysql/etc/my.cnf /etc/my.cnf

配置信息如下,可根据个人需求进行更改。

[client]
port=3306
socket=/usr/local/mysql/run/mysql.sock
 
[mysqld]
port=3306
socket=/usr/local/mysql/run/mysql.sock
pid_file=/usr/local/mysql/run/mysql.pid
datadir=/usr/local/mysql/data
 
skip-external-locking
key_buffer_size=32M
max_allowed_packet=16M
table_open_cache=1024
sort_buffer_size=1m
net_buffer_length=8K
read_buffer_size=1m
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
thread_cache_size=16
query_cache_size=32M
tmp_table_size=32M
performance_schema_max_table_instances=500
 
explicit_defaults_for_timestamp=true
#skip-networking
max_connections=500
max_connect_errors=100
open_files_limit=65535
 
slow_query_log=on
long_query_time=2
slow_query_log_file=/usr/local/mysql/log/mysql_slow_query.log
 
log-error=/usr/local/mysql/log/mysql_error.log
log-bin=/usr/local/mysql/binlogs/mysql-bin
binlog_format=mixed
server-id=10
expire_logs_days=10
early-plugin-load=""
 
default_storage_engine=InnoDB
innodb_file_per_table=1
innodb_data_home_dir=/usr/local/mysql/data
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_group_home_dir=/usr/local/mysql/data
innodb_buffer_pool_size=128M
innodb_log_file_size=32M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
 
[mysqldump]
quick
max_allowed_packet=16M
 
[myisamchk]
key_buffer_size=32M
sort_buffer_size=768K
read_buffer=2M
write_buffer=2M
 
[mysqlhotcopy]
interactive-timeout
  1. 初始化MySQL
# 初始化MySQL,此步骤会产生临时密码,需记录下来
[root@localhost mysql]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 初始化ssl
[root@localhost mysql]#  mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

9.设置启动服务

[root@localhost mysql]#  vi /usr/lib/systemd/system/mysqld.service  

具体设置参数如下:

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://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
 
Type=forking
 
PIDFile=/usr/local/mysql/run/mysqld.pid
 
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
 
# Execute pre and post scripts as root
PermissionsStartOnly=true
 
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd
 
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/run/mysqld.pid $MYSQLD_OPTS
 
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
 
# Sets open_files_limit
LimitNOFILE = 65535
 
Restart=on-failure
 
RestartPreventExitStatus=1
 
PrivateTmp=false
  1. 设置开机启动
[root@localhost mysql]# systemctl enable mysqld.service  
# 查看是否以启动
[root@localhost mysql]# systemctl is-enabled mysqld
  1. 启动MySQL
[root@localhost mysql]# systemctl start mysqld
# 登录MySQL
[root@localhost mysql]# mysql -u root -p

登录MySQL时,需键入密码,此密码为初始化MySQL时产生的临时密码。

  1. 修改密码
    登录成功后,将临时密码修改为自己的密码。
mysql> set password xxxxx;
# 退出数据库
mysql> exit

3. 使用Navicat对MySQL进行管理及开发

Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。

它可以对本机或远程的MySQL或者其他数据库(如SQL Server、SQLite、Oracle等)进行管理或者开发。

Navicat Premium是一个可多重连接的数据库管理工具,可同时连接不同类型的数据库,能简单快速地在各种数据库系统间传输数据。其主要有以下几种功能:

3.1 Navicat的使用
  1. 下载
    根据自己的电脑配置在Navicat官网下载相应的安装包,官方提供14 天 免费的全功能 Navicat 试用版。

  2. 连接MySQL服务
    Navicat下载安装完成后,其界面如下所示:

1)新建连接,点击菜单栏中的文件 --> 新建连接 ---> MySQL,进入创建连接界面。

2)添加链接名,以及本地IP或localhost,以及MySQL端口号(默认为3306),并输入MySQL账号及密码。点击测试连接,出现以下弹窗就是成功链接MySQL数据库服务了。

3)新建数据库,右键点击刚建好的数据库,点击新建数据库,进入新建数据库界面。

3)删除数据库,右键点击需要删除的数据库,点击确认删除即可。

4)创建数据表,选择数据库,右键点击表,点击新建表即可。

5)修改数据表,选中所需修改的数据表,右键点击设计表,然后和创建数据表一样去编辑字段,数据类型,完整性约束等。

6)删除数据表,选中需要删除的数据表,右键选择删除表即可。

7)查询数据,选中需要查询的某个数据库,右键选择新建查询,进入查询界面,在里面输入查询语句即可。

8)备份数据库,选择需要备份的数据库,右键选择转储SQL文件,选择结构和数据,存储导数需要保存的位置,确定即可。

3.2 Navicat的快捷键

Navicat的快捷键可通过官网获取(https://www.navicat.com.cn/manual/online_manual/cn/navicat/win_manual/index.html#/hot_keys),其主要快捷键如下:


至此,MySQL在Window和Linux两个平台上安装及使用已全部完成。

上一篇 下一篇

猜你喜欢

热点阅读