在windows和centos上面安装mysql
写在前面
这里mysql安装是基于压缩包方式安装,提供windows和centos两个平台的安装
windows
下载windows版本的mysql免安装压缩包
这里使用华为开源镜像站下载mysql:8.0.23版本的压缩包进行安装,下载地址:
mysql:8.0.23-winx64.zip
解压到指定目录
这里我将mysql解压到D:\Program Files (x86)\mysql
安装服务
这里需要通过系统管理员方式启动cmd,如下
mysqld --install 安装服务
编写mysql配置文件
这里创建my.ini文件,放在与mysql同级目录即可
my.ini
[mysql]
# 设置默认字符编码
default-character-set=utf8
[mysqld]
# mysql的监听端口
port = 3306
# mysql的安装目录
basedir=D:\Program Files (x86)\mysql
# mysql的数据目录
datadir=E:\mysql\data
# 这里开启兼容group by 查询非分组字段报异常的问题
sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
# 设置mysql最大连接数
max_connections=200
# 设置mysql服务端的字符编码
character-set-server=utf8
# 设置mysql的表默认存储引擎
default-storage-engine=INNODB
初始化mysql
mysqld --initialize --console
框选那一行为数据库的root账号初始密码,这里会卡住控制台,按ctrl+c即可
启动mysql服务
net start mysql
登录mysql,设置root账号新密码,这里123456就是新的密码
ALTER USER root@localhost IDENTIFIED BY '123456';
退出mysql,使用新的密码重新登录
通过客户端连接
配置环境变量
右键单击此电脑,点击属性,或者在搜索栏搜索环境变量
点击属性,如下,点击系统高级设置,然后点击环境变量,或者在搜索栏搜索环境变量
点击新建环境变量,添加一栏MYSQL_HOME的变量,值为mysql的安装目录
然后找到Path这个环境变量,双击它,添加一行,引用MYSQL_HOME\bin目录,使全局cmd都能直接使用mysql命令
如下图
centos
下载centos版本的mysql免安装压缩包
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.23-el7-x86_64.tar.gz
# 解压
tar zxvf mysql-8.0.23-el7-x86_64.tar.gz
# 移动到/usr/local/src/mysql目录
mv mysql-8.0.23-el7-x86_64 /usr/local/mysql
创建mysql用户和mysql用户组
groupadd mysql
useradd mysql -g mysql
#设置mysql用户密码
passwd mysql
这里密码,我设置的是123456,输入两次123456然后按回车即可
创建mysql的数据目录
mkdir -p /opt/mysql/data
# 设置目录权限,将其拥有者改为mysql用户
chown -R mysql.mysql /opt/mysql
编写my.cnf配置文件
这里my.cnf文件放在/etc目录下面,内容如下
my.cnf
[mysqld]
log-error=/opt/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/opt/mysql/data/mysql.pid
port=3306
#这里为mysql的安装目录
basedir=/usr/local/mysql
datadir=/opt/mysql/data
sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
初始化mysql
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql
启动mysql服务
这里所在的目录为:
support-files/mysql.server start
修改mysql root账号默认密码
这里密码通过查看/opt/mysql/data/error.log文件获得
bin/mysql -uroot -p'这里填写error.log日志里面的密码'
#修改密码为123456
ALTER USER root@localhost IDENTIFIED BY '123456';
#设置root用户允许登录的host地址
UPDATE mysql.user SET host='%' WHERE user='root';
#刷新权限
FLUSH PRIVILEGES;
设置开机自启
#将mysql server复制到/etc/init.d目录下面
cp support-files/mysql.server /etc/init.d/mysqld
#centos 加入到开机检测列表里面,实现开机自启
chkconfig --add mysqld
#ubuntu 开机自启
update-rc.d -f mysqld defaults
配置环境变量
cat >> /etc/profile <<EOF
MYSQL_HOME=/usr/local/mysql
PATH=\$PATH:\$MYSQL_HOME/bin
export PATH
EOF
source /etc/profile
测试登录