MySQL安装文件下载官网:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
第一:在windows上搭建MySQL数据库
- 到官网下载mysql数据库,注意自己要使用的版本;
- 将下载的包解压,注意自己的解压目录;
- 配置环境变量:
- 变量名:MYSQL_HOME
- 变量值:2中解压mysql解压后的路径
- path中添加:%MYSQL_HOMT%\bin;
- 在解压包下新建my.ini文件,目的是为了放置mysql的配置文件,在my.ini中添加mysql的基本配置信息:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\mysql\mysql-5.7.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql\mysql-5.7.28-winx64\data
# 允许最大连接数
max_connections=2000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
group_concat_max_len = 4294967295
5、使用管理员权限进入mysql安装目录的bin文件夹下,执行mysqld --initialize-insecure
6、使用管理权限打开cmd,进入mysql的bin目录下,执行命令mysqld -install
7、启动mysql服务:net start mysql
8、登录mysql:mysql -u root -p 因为还没有设置密码,所以直接回车即可登录
9、设置root密码:update mysql.user set authentication_string=password(“要设置的密码”) where user=”root”; 设置完之后要刷新:flush privileges;
10、设置允许远程连接:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; 设置完之后刷新:flush privileges;
%即是所有ip,如果把%修改为固定ip,则是只有该ip可以连接。
错误提示:
1、在安装过程中执行mysqld –install的时候报错如下
这是因为没有安装如下软件导致的,点击下面链接,下载vcredist,安装即可
下载 vcredist 地址:
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
第二:在linux上安装部署MySQL
这里介绍以上传包文件解压的方式安装部署,包文件格式tar.gz
mysql的安装包可以到官网自己下载,需要注意的是如果mysql8.0的密码连接规则和以往的不同,需要注意版本。
上传mysql包文件到/usr/local下,然后解压,修改解压后的文件名为mysql,则此时mysql的目录位置为/usr/local/mysql
创建用户组和用户
groupadd mysql
useradd mysql -g mysql
进入mysql文件:cd /usr/local/mysql
创建目录并且授权:在创建目录之前可以先查看一下是否存在data文件和mysql-files文件,这里创建的就是这两个文件。在授权的时候,要特别注意后面的“.”代表所有的意思
mkdir data mysql-files
chmod 750 mysql-files
chown -R mysql .
chgrp -R mysql .
在etc目录下创建my.cnf,进行mysql的配置
vim /etc/my.cnf
在里面写入下面内容:
-------------------------------------
#mysql客户端默认字符集
[mysql]
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/usr/local/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 不区分大小写
lower_case_table_names=1
max_allowed_packet=16M
-------------------------------------
在这里需要注意的是socket的路径
完成上面不走之后,初始化mysql
cd /usr/local/mysql/bin
执行命令;
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
初始化过程中会生成一个登录mysql的临时密码,需要注意,也就是root@localhost:后的字符串
添加mysqld服务
返回mysql的目录下,添加musqld服务到系统
cp -a ./support-files/mysql.server /etc/init.d/mysql
授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
启动mysql服务:
service mysql.server start
或者
/usr/local/mysql/support-files/mysql.server start
完成上面步骤之后,进行配置环境变量
vi ~/.bash_profile
在打开的文件中修改path,增加mysql的bin目录
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
保存退出,一定要记得下面的一步
source ~/.bash_profile使其生效
将mysql命添加到服务
ln -s /usr/local/mysql/bin/mysql /usr/bin
登录mysql
mysql -u root -p
使用前面初始化时候的密码进行登录,登录成功后进行密码的修改
ALTER USER 'root'@'localhost' identified by '要修改成的密码';
或者
set password=password("com.outEgg.mysql");
刷新权限:flush privileges;
可以退出重新登录,验证密码是否已经修改。
开启远程登录:登录MySQL后
use mysql;
update user set host = '%' where user ='root';
flush privileges;
允许所有ip连接
grant all privileges on *.* to 'root'@'%' identified by '你数据库的密码' with grant option;
flush privileges;