Windows10下安装MySQL
1. 下载MySQL
官网下载MySQL:https://www.mysql.com/
- 进入官网
- 点击DOWNLOADS
- 下滑点击MySQL Community(GPL)Downloads
- 点击MySQL Installer for Windows
- 选择版本下载
- 这里就不需要登录注册了,直接下载
2. 安装MySQL
-
找到下载的文件双击
-
之后选择Server only,这是仅安装MySQL数据库,然后next
-
安装的软件,选中后点击execute执行安装
-
安装完成点击next
-
之后点击next
-
出现配置界面,默认就可以,点击next
-
使用强密码身份验证、使用旧式身份验证,默认即可,next
-
设置密码(011217),点击next
-
接下来是MySQL运行方式,默认即可,点击next
-
服务更新,默认即可,点击next
-
然后直接点击execute
-
配置完成后,点击finish
-
然后点击next
-
然后点击finish
3. 配置MySQL环境变量
【高级系统设置】
查找:此电脑右击属性再下拉
【环境变量】
从系统变量中找到【Path】,然后【编辑】
环境变量也给【确定】
至此安装完成
4. 验证是否安装成功
通过命令行窗口,快捷键【win+R】+【输入cmd】
连接客户端
mysql -uroot -p
会提示输入密码,输入刚才安装时设置的密码,出现mysql>
即安装成功
Linux(CentOS7)下安装MySQL
1. 安装前准备
1.1 安装yum
在CentOS 7中,软件安装主要依赖于其强大的包管理器——YUM(Yellowdog Updater Modified)。YUM可以自动解决软件包之间的依赖关系,使得软件的安装、更新和卸载变得简单而高效。
-
首先查看是否存在yum,出现版本号则有,无需再安装
yum -v
-
下载rpm包,包仓库
http://mirrors.163.com/centos/7/os/x86_64/Packages/
,使用wget方式下载wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
下载的包
python-iniparse-0.4-9.el7.noarch.rpm python-pycurl-7.19.0-19.el7.x86_64.rpm python-2.7.5-86.el7.x86_64.rpm python-urlgrabber-3.10-9.el7.noarch.rpm python-libs-2.7.5-86.el7.x86_64.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm yum-3.4.3-163.el7.centos.noarch.rpm
-
安装python包
rpm -ivh python-*
-
安装yum-metadata-parser-1.1.4-10.el7.x86_64.rpm包
rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
-
安装yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm 与yum-3.4.3-163.el7.centos.noarch.rpm,二者相互依赖,要在一起安装
rpm -ivh yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm yum-3.4.3-163.el7.centos.noarch.rpm
自此安装完成
-
还可以更新yum(不需要做)
yum update
1.2 卸载MariaDB
MariaDB是MySQL的分支,会与MySQL起冲突,务必把所有的都给卸载了
-
查看是否安装MariaDB
rpm -qa | grep mariadb
-
有则卸载,无不需要进行这一步
rpm -e --nodeps 文件名
还可以通过上面命令再次查看是否已卸载
注:
在卸载MariaDB出现error: package mariadb-libs-5.5.64-1.e17.x86_64 is not installed
报错
这是因为Linux系统缺少libaio组件,可以通过yum安装组件
安装libaio组件,之后再执行卸载命令
yum install -y libaio
1.3 安装libaio和numactl
# 查看是否安装libaio
rpm -qa | grep libaio
# 如果没有安装则安装
yum -y install libaio
# 查看是否安装numactl
rpm -qa | grep numactl
#如果没有安装则安装
yum -y install numactl
2. 下载MySQL
2.1 官网下载(wget下载慢的话,用这种方法)
官网下载MySQL:https://www.mysql.com/
-
进入官网
-
点击DOWNLOADS
-
下滑点击MySQL Community(GPL)Downloads
-
点击MySQL Community Server
-
选择版本下载
-
这里就不需要登录注册了,直接下载
使用的是Xshell
远程连接工具和Xftp
将压缩包上传到Linux中
2.2 wget下载
-
进入/usr/local目录
cd /usr/local
-
创建mysql8文件夹
mkdir mysql8
-
进入mysql8文件夹
cd mysql8
-
wget下载
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar #复制的链接地址
可以看到下载的安装包了
3. 安装MySQL
-
进入/usr/local目录
cd /usr/local/mysql8
-
拆分tar包
tar -xvf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar
拆分的内容
mysql-community-client-8.0.36-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.36-1.el7.x86_64.rpm
mysql-community-common-8.0.36-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.36-1.el7.x86_64.rpm
mysql-community-devel-8.0.36-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.36-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.36-1.el7.x86_64.rpm
mysql-community-libs-8.0.36-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.36-1.el7.x86_64.rpm
mysql-community-server-8.0.36-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.36-1.el7.x86_64.rpm
mysql-community-test-8.0.36-1.el7.x86_64.rpm -
分别安装 common、libs、client、server 4个模块 ,注意顺序
rpm -ivh mysql-community-common-8.0.36-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-8.0.36-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-client-8.0.36-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-server-8.0.36-1.el7.x86_64.rpm --nodeps --force
4. 设置配置文件及其他配置
4.1 配置参数文件my.cnf
编辑修改my.cnf命令
vi /etc/my.cnf
# 之后按i键进入编辑
# 编辑完后按Esc键
# 再输入:wq保存退出
my.cnf配置内容
###########################################################################
##客户端参数配置
###########################################################################
[client]
# 端口
port=3306
socket=/var/lib/mysql/mysql.sock
# 默认字符集
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
# 关闭自动补全sql命令功能
no-auto-rehash
socket=/var/lib/mysql/mysql.sock
###########################################################################
##服务端参数配置
###########################################################################
[mysqld]
port=3306
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/lib/mysql/error.log
pid-file=/var/lib/mysql/mysqld.pid
character-set-client-handshake=FALSE
# 数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server=utf8mb4
# 数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server=utf8mb4_general_ci
# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1
# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
#transaction_isolation = READ-COMMITTED
# 执行sql的模式,规定了sql的安全等级
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-external-locking
# 只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve
# 最大错误连接数
max_connect_errors=10
# 是否启用慢查询日志,1为启用,0为禁用
slow_query_log=0
# 慢查询执行的秒数,必须达到此值可被记录
long_query_time=3
# 指定慢查询日志文件的路径和名字
slow_query_log_file=/var/lib/mysql/slowsql.log
# 对MyISAM表起作用
key_buffer_size=128M
read_buffer_size=1M
read_rnd_buffer_size=2M
max_allowed_packet=1M
table_open_cache=64
# order by 或group by 时用到
sort_buffer_size=512K
net_buffer_length=8K
default_storage_engine=InnoDB
innodb_buffer_pool_size=1024M
innodb_flush_log_at_trx_commit=2
innodb_log_file_size=256M
innodb_log_buffer_size=8M
innodb_log_files_in_group=3
innodb_lock_wait_timeout=50
4.2 目录授权
chown -R mysql:mysql /var/lib/mysql/
4.3 开放3306端口权限
-
查看防火墙状态
systemctl status firewalld
- 开启防火墙
systemctl start firewalld
-
永久开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
-
重启生效
firewall-cmd --reload
-
查看开启的端口
firewall-cmd --list-ports
注:如果是阿里云服务器,还需要在服务器控制台安全组添加相应的端口才行
5. 启动MySQL
-
启动mysql
systemctl start mysqld
-
查看MySQL8的状态
systemctl status mysqld
-
设置开机自启动
systemctl enable mysqld
-
重启mysql
systemctl restart mysqld
-
停止MySQL
systemctl stop mysqld
-
查询临时密码,会生成在my.cnf配置的log-error配置的log文件中
cat /var/lib/mysql/error.log | grep password
6. 登录MySQL
-
登录
mysql -uroot -p
-
修改密码
alter user 'root'@'localhost' identified by 'root';
-
创建非root远程登录用户
# 创建远程登录用户以及设置密码 create user 'admin'@'%' identified by 'Mthk'; # 赋予权限(*.*代表可访问操作所有数据库和表) grant all privileges on *.* to 'admin'@'%' with grant option; # 刷新生效 flush privileges;