mysql安装与配置(linux/windows)

一、windows 安装 mysql

1,下载mysql 文件
在这里插入图片描述
下滑页面,找到下载按钮
在这里插入图片描述
2,下载完成后,放置到你想放置的目录下,然后解压
3,以管理员身份运行cmd,进入到 mysql 的 bin 目录下,输入命令:

# 使用sql命令查找安装路径
select @@basedir as basePath from dual

# 删除之前的安装
使用管理员身份打开cmd,进入到 mysql 的 bin 目录
mysqld -remove

# 查询mysql 服务
sc query mysql
# 删除 mysql 服务
sc delete mysql

# 查看 mysql 根目录下是否存在 data 文件夹,有则删除

# 初始化(完成后,记下初始登录密码,用于首次登录)
mysqld --initialize --user=mysql --console
** 如遇到“由于找不到msvcp120.dll...”,解决方法在下方

# 安装
mysqld install

# 启动 mysql
net start mysql

# 进入 mysql 数据库,并输入密码
mysql -u root -p mysql
** 如遇到“系统找不到指定文件。”,解决方法在下方。


# 修改密码(注:密码要用引号引起来)
alter user 'root'@'localhost' identified WITH mysql_native_password BY '你的新密码';
# 刷新权限
flush privileges;

# 查询权限表
user mysql;
select user,host from user;

# 对 mysql 数据库 root 账号设置远程访问密码,与本地 root 访问密码不冲突,密码:123456
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

# 如条设置访问权限失败,尝试以下代码(由于mysql版本问题)
create user 'root'@'127.0.0.1' identified by '123456';  #创建用户
grant all privileges on *.* to 'root'@'127.0.0.1' with grant option;  #赋予权限

错误及解决方法

1.安装mysql时报错“由于找不到vcruntime140_1.dll,无法继续执行代码”解决方法

网址: https://cn.dll-files.com/vcruntime140_1.dll.html,下载对应系统的版本。解压后将vcruntime140_1.dll文件移动到C:\Windows\System32下即可。

2. 报错【由于找不到msvcp120.dll…】

下载 VC redist packages for x64,安装即可解决

3.报错【系统找不到指定文件。】

尝试方法1:是否因为bin同级路径下缺少my.ini
新建my.ini如下,放置在bin同级路径下

[mysqld]
port = 3306
basedir=D:/tools/mysql-5.7.26-winx64
datadir=D:/tools/mysql-5.7.26-winx64/Data/
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

重新执行上边步骤,从 sc query mysql 开始

# 查询mysql 服务
sc query mysql
# 删除 mysql 服务
sc delete mysql
.............
.............

尝试方法2:cmd打开regedit打开注册表,修改MySQL的ImagePath为mysqld.exe所在路径(下图以本机为例),然后重启计算机
在这里插入图片描述

二、linux 安装 mysql

1,查看是否安装过 mysql,是的话查找文件并删除

[root@localhost /]# rpm -qa | grep mysql    # 检查
mysql-libs-5.1.73-5.el6_6.x86_64

[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64    #删除 mysql-libs-... 是上一步查出来的

2,查询 mysql 文件夹(这里查出3条)

[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql

[root@localhost /]# find / -name mysql
/data/mysql
/data/mysql/mysql

3,删除上一步查询出的3个文件

[root@localhost /]# rm -rf /usr/bin/mysql /data/mysql /data/mysql/mysql 

4,再次检查,看是否删除成功

[root@localhost /]# whereis mysql
[root@localhost /]# find / -name mysql

5,下载 mysql 及 安装

# 下载 或者mysql下载到本地,再传到服务器上
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

# 解压
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

# 将解压后的文件,移动到 /usr/local/mysql下
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

# 在 /usr/local/mysql 创建 data 目录
mkdir /usr/local/mysql/data

# 创建 mysql 用户
useradd mysql

# 更改 mysql 目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

# 进入其下的 bin 目录下
# 编译并初始化 mysql,初始化成功后,请记住最后一行 root@localhost: 后的临时密码,用于第一次登录
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

初始化成功后,请记住最后一行 root@localhost: 后的临时密码,用于第一次登录

# 修改 /etc/my.cnf 文件内容,为:
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1

# 启动 mysql
/usr/local/mysql/support-files/mysql.server start
*** 如启动时报类似错:
log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
原因:没有相关文件,需要创建文件,并赋予权限
解决方法:
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown-R mysql:mysql /var/log/mariadb/
***

# 添加软连接,并启动 mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql restart

# 登录 mysql,并且输入刚才生成的临时密码,回车确认
mysql -u root -p

# 修改密码(注:密码要用引号引起来)
set password for root@localhost = password("你的新密码");

# 开放远程连接
mysql>use mysql;
mysql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

# 设置开机启动启动
# 1 将服务文件拷贝到 init.d下,并重命名为 mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 2 赋予可执行权限
chmod +x /etc/init.d/mysqld
# 3 添加服务
chkconfig --add mysqld
# 4 显示服务列表
chkconfig --list 

6,linux 开放 3306 端口

# 查看已经开放的端口列表
firewall-cmd --zone=public --list-ports

# 开放端口 3306(--permanent 为是设置端口永久开放)
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 重启 firewall 服务
systemctl restart firewalld.service

# 如果你是云服务器的话,别忘记添加端口号为3306的安全组规则
# 之后本地连接即可

7,mysql 数据库拷贝

# 拷贝到本机 (old-旧数据库,new-新数据库)
mysqldump old -u root -p123456  | mysql new -u root -p123456

# 拷贝到远程服务器 (old-旧数据库,new-新数据库)
mysqldump old -u root -p123456  | mysql -h 111.22.33.11 new -u root -p123456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值