MySQL5.7.30安装指南.md 9.4 KB

Windows 下安装 MySQL5.7.30

方法一:程序安装

参考:

1.下载

社区版下载地址

img

https://dev.mysql.com/downloads/installer/

img

https://downloads.mysql.com/archives/installer/

img

2.安装

Tip:基本上默认安装就可以,下面截图仅做参考。

image-20200806094959481

img

选择 Server only

如果出现 MySQL Server,则选中,并点击【execute】,安装完成之后单选框变成绿色

  1. 测试

确认MySQL安装成功的唯一标志 1.在系统服务中能找到MySQL5.7.30 2.能正常启动和停止服务

方法二:压缩包安装

参考:

1. 下载解压

MySQL社区版下载

image-20200807160411904

https://downloads.mysql.com/archives/

image-20200807160502509

https://downloads.mysql.com/archives/community/

image-20200807161028242

2. 添加配置文件

在mysql解压目录下,创建 my.ini 文件,并写入以下内容

[mysqld]
basedir ="D:\mysql\mysql-8.0.12-winx64"
datadir ="D:\mysql\mysql-8.0.12-winx64\data"
port=3306
server_id =10
character-set-server=utf8
character_set_filesystem=utf8
[client]
port=3306
default-character-set=utf8
[mysqld_safe]
timezone="CST"
[mysql]
default-character-set=utf8

3. 安装服务

以管理员身份打开 cmd,进入 mysql安装目录\bin,执行以下命令

# 添加名为mysql的windows服务(默认开机启动)
# windows服务名称不区分大小写
mysqld --install mysql
  • 添加名为mysql的windows服务(手动启动):mysqld --install-manual mysql

  • 删除名为mysql的windows服务:mysqld --remove mysql

4. 初始化数据库

接着在 mysql安装目录\bin执行以下命令

mysqld --initialize --user=root --console

5. 启动Mysql

# 启动服务
net start mysql
# 关闭服务
net stop mysql

Centos7 下安装 MySQL5.7.30

方法一:yum 安装

参考:

1. 卸载已安装 mysql

#查询mysql、mariadb软件包并删除
rpm -qa | grep mysql | xargs rpm -e --nodeps
rpm -qa | grep mariadb | xargs rpm -e --nodeps

2. 安装yum源

2.1 获取yum源

在这个页面 https://dev.mysql.com/downloads/repo/yum/ 中,根据操作系统版本,选择【Download】 Image_20200714112216.jpg

右键复制 rpm 链接

Image_20200714112706.jpg

2.2 安装yum源

#安装yum源
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
#安装 yum-utils 工具
yum install -y yum-utils 

2.3 启用指定版本

# 查看所有的msyql
yum repolist all | grep mysql

如图: img

# 禁用80版本
yum-config-manager --disable mysql80-community
# 启用57版本
yum-config-manager --enable mysql57-community

3. 安装MySQL

yum install -y mysql-community-server

待命令执行结束,安装即完成

4. 启动mysql服务

#启动 mysql 服务:
service mysqld start
#查看 mysql 服务状态:
service mysqld status

验证 mysql -v

5. 初始化

#查看初始密码
grep 'temporary password' /var/log/mysqld.log
#修改密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
#授权远程连接,让任何主机都能以root登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourNewPassword' WITH GRANT OPTION;
#刷新权限
FLUSH PRIVILEGES;

其中第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问; ‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;

注意:如果是阿里云服务器,还去阿里账号,给服务器实例添加一个安全组规则,运行外网地址访问3306端口。

6. 设置开机启动

CentOS 7 使用 systemctl 命令工具操作服务:

#开机启动
systemctl enable mysqld

方法二:本地安装

Tip: 由于使用yum无法指定具体的小版本,比如 5.7.30,却想要 30 参考:

1. 卸载已安装的

#查询mysql、mariadb 软件包,并删除
rpm -qa | grep mysql | xargs rpm -e --nodeps
rpm -qa | grep mariadb | xargs rpm -e --nodeps

2. 下载解压安装

3. 配置用户

  • 创建用户组mysql
groupadd mysql
  • 创建用户,-r参数表示mysql是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中

    useradd -r -g mysql mysql
    
    • 修改mysql目录的拥有者和权限组
    chown -R mysql:mysql /usr/local/mysql
    

4. 创建配置文件

vim /etc/my.cnf

配置内容如下,也可以添加其他需要的配置:

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'

手动创建配置的目录

touch /var/log/mysqld.log
chmod 777 /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log

5.初始化数据库

先安装这个东西,否则初始化可能会报错(不用好像也可以)

yum install libaio

最后初始化数据库(这个过程有点慢)

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

最后的最后,查看一下初始密码

grep 'temporary password' /var/log/mysqld.log

最后一行“root@localhost”后面的就是初始密码。

6.启动服务

启动服务

/usr/local/mysql/support-files/mysql.server start
Starting MySQL.                                            [  OK  ]

将mysql目录添加到环境变量中 vim /etc/profile

#mysql
export PATH=/usr/local/mysql/bin/:$PATH

执行 source /etc/profile 使配置生效

进入mysql

mysql -uroot -p
Enter password: 

修改初始密码

mysql> alter user user() identified by "dx3906";

授权远程登录(让任意主机都可以以root身份登录)

mysql> use mysql;
mysql> update user set host='%' 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>grant all privileges on *.* to root@'%'  identified  by 'dx3906';
mysql> flush privileges;

其中第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;

注意:如果是阿里云服务器,还去阿里账号,给服务器实例添加一个安全组规则,运行外网地址访问3306端口。

7.设置开机启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld
chkconfig mysqld on

8.mysql服务命令

service mysqld status|start|stop|restart

查看mysqld服务运行状态

[root@izm5e266m87jhndvihw6tuz support-files]# service mysqld status
MySQL running (21213)                                      [  OK  ]