mysql安装
一、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