目录
本文介绍的是8.x版本的安装
windows下msi方式安装
选择自定义安装
只选择mysql server,这个选项自带了命令行客户端
选第一个,不搭建mysql集群,即单机版
使用默认配置
第一个是强密码验证,更安全,8.x选此项(版本8才支持此项);第二个是弱密码验证,为5.x保留的
设置root的密码,如果要添加用户,role选择DB Manager
使用默认配置
会自动安装mysql服务,开机自启,安装完mysql服务就是开启的。
windows下zip方式安装
为了方便,先重命名解压目录为mysql。
1、mysql主目录下新建文件夹data,新建mysql配置文件my.ini
[client]
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
#mysql主目录
basedir=D:\mysql
#数据存储目录
datadir=D:\mysql\data
#创建表默认使用的存储引擎
default-storage-engine=INNODB
#最大连接数
max_connections=200
注意保存my.ini时编码要是ASCII,不能是UTF-8
2、 管理员命令行,cd到mysql的bin目录
#初始化mysql数据库,记住生成的临时密码
.\mysqld --initialize --console
#安装mysql服务。install是安装,remove是移除
.\mysqld --install
#启动服务。start,stop,restart
net start mysql
#连接到mysql server,输入临时密码。临时密码要手打,复制很容易出错
.\mysql -uroot -p
#登录成功后,修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
安装服务、启动|停止|重启服务 要在管理员命令行执行,普通命令行权限不够,其它命令可以在普通命令行执行。
在管理员命令行执行当前目录下的可执行文件时,要加./,普通命令行则不必。
Linux下安装
#查看软件源中的mysql-server信息,已经是8.x版本。如果不是可以yum search mysql-server搜索
yum info msyql-server
#安装mysql-server,已经自带了msyql-client
yum install mysql-server
#设置为开机启动
systemctl enable mysqld
#查看是否是开机启动状态
#systemctl list-unit-files | grep mysqld
#启动mysql-server,也可以service mysqld start
systemctl start mysqld
#查看临时密码。如果不知道mysqld.log的路径,可以 find / -name mysqld.log 查找
cat /var/log/mysql/mysqld.log | grep password
root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
看到是空密码(没有密码)
#不用输密码,直接回车
mysql -uroot -p
#修改|设置root的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
#默认host是localhost,即只允许本地连接,windows上安装mysql一般用于开发,所以一般不用修改host
#linux常作为服务器,需要修改host为%,允许其它机器连接
use mysql;
#此处只修改了root的,如果要修改全部账号的host,不指定user即可
update user set host = '%' where user ='root';
flush privileges;
#如果3306端口没开启,去开启
firewall-cmd --query-port=3306/tcp
firewall-cmd --add-port=3306/tcp --zone=public --permanent
firewall-cmd --reload
说明:如果安装过程中出问题了,或者有老版本的mysql,卸载mysql-server之后要先删除mysql相关目录
#查找mysql相关目录,然后 rm -rfI 全部删除
find / -name mysql
navicat连接mysql server的常见问题
Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因:mysql server是8.x版本,密码加密方式发生了变化,使用的navicat版本较低,不能适配mysql 8.x的加密方式。
2种解决方式
1、下载安装最新版的navicat,或者使用其它数据库管理工具,比如DG
2、命令行连接到mysql server
ALTER USER 'root'@'localhost' IDENTIFIED BY 'abcd' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abcd';
FLUSH PRIVILEGES;
@前面的数据库用户名,BY后面的密码要换为自己的