【环境搭建】安装MySQL

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

  • MySQL 是开源的。
  • MySQL 支持大型的数据库。相对于Excel来说,可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言(如Python、Java、C、C++等)。
  • ……

本篇文章将从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两个平台上安装及使用已全部完成。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,733评论 0 10
  • mysqladmin -u root -p oldpass password newpass mysqladmin...
    不排版阅读 2,157评论 0 3
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,833评论 0 5
  • 安装并配置MySQL数据库 3.2.1安装MySQL数据库 1.MySQL数据库的安装环境准备 如果读者没有物理服...
    SkTj阅读 4,030评论 0 6
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,033评论 0 19