MySQL安装
作者:vwFisher
时间:2019-06-05
官网:https://dev.mysql.com/downloads/mysql/
下载地址:https://downloads.mysql.com/archives/community/
建议用 RPM 安装,tar.gz 安装失败,没有收录在本文章中
目录
安装
Windows
1).在官网下载msi后缀名直接安装
2).解压缩版的安装
解压缩版本安装
[在Windows下有个解压缩版的文件夹]
1).将mysql压缩包解压到一个目录
2).将my.ini 和 安装服务.bat 放置同目录
3).修改my.ini的路径
4).进入bin,执行以下命令
mysql -u root -p 无密码
5).修改密码
set password = password('11111111');
6).测试
mysql -u root -p
输入刚刚设置的密码看是否成功
MAC OS X
详细步骤参考:http://www.jb51.net/article/103841.htm
1.下载安装
在官网,找到Mac OS X的dmg下载包。下载之后,执行dmg安装
2.配置
系统偏好设置 -> mysql -> Start MySQL Server启动Server
3.打开终端,或iTerm2
运行下面两条命令(本质是写入到bash_profile中):
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
这两条命令是为了方便直接打开 iTerm 就可以运行mysql命令,而不是必须进入mysql安装目录才能运行。接下来,你要做的是重置密码。重置密码命令:
mysqladmin -u root -p password newpass(你的新密码)
运行重置密码的命令后,系统提示输入旧密码。安装过mysql5.6或之前版本的同学知道,mysql首次运行会给root用户分配一个默认密码:root, 这个旧密码就是root。但是现在如果你输入root,系统提示密码错误,怎么回事呢?
原来5.7的版本不会再给root用户分配默认密码,而是会给一个临时密码,如果你细心的话,安装mysql成功后会弹出一个临时密码让你保存。如果你没有保存,没关系,右侧的通知栏里会有,如图:
mysql_install_mac_init_pwd我的临时密码就是_;kb8t7=-ZoU
输入临时密码,密码修改成功,然后用新密码登录:
mysql -u root -p
回车,新密码,回车,登录成功!
CentOS
推荐用 RPM 安装
https://downloads.mysql.com/archives/community/
选择Red Hat Enterprise Linux -> RPM Bundle 包下载
RPM 安装 - CentOs 6 - 版本 5.6
1.下载mysql安装包
https://downloads.mysql.com/archives/community/
选择Linux Generic -> Linux - Generic (glibc 2.12) (x86, 64-bit), TAR
2.安装mysql
1).解压
tar -xvf MySQL-5.6.16-1.linux_glibc2.5.x86_64.rpm-bundle.tar
2).删除
检查是否安装其他版本的mysql
rpm -qa | grep mysql
如果安装则卸载旧版本
rpm -e --nodeps mysql-libs-xxxxxxxx
清理mysql文件夹
/var/lib/mysql
rm -rf /var/lib/mysql
3).使用如下命令安装Server和Client
rpm -ivh MySQL-server-5.6.xxxxxx.rpm
rpm -ivh MySQL-client-5.6.xxxxxx.rpm
4).启动
service mysql start
使用如下命令查看当前mysql的状态:
service mysql status
可以启动命令加入到linux的启动项中,开机即启动mysql服务:
chkconfig --add mysql
chkconfig mysql on
使用命令chkconfig --list查看下是否设置成功,此操作都是root权限
5).设置密码
设置mysql的root密码,使用如下命令:
mysql -u root -p
提示输入密码,初始root密码保存在'/root/.mysql_secret'文件中
登录mysql后接着输入set password = password('11111111');
6).文件说明
下面是mysql安装后三个主要的目录及其功能、修改配置等等:
/var/lib/mysql 数据库文件
/usr/share/mysql 命令及配置文件
/usr/bin mysqladmin、mysqldump等命令
7).字符集设置
将my.cnf文件放到/etc执行重启:
查看数据库字符集
SHOW VARIABLES LIKE '%char%';
RPM 安装 - CentOs 7 - 版本 5.7
参考:http://blog.csdn.net/chris_111x/article/details/51966451
1.下载 / 解压 / 检查 / 安装前置依赖
下载,将RPM放进自己想要放的文件夹,解压
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
mkdir mysql_install
mv MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar ./mysql_install/
cd mysql_install
tar –xvf MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar
检查系统是否安装了MySQL
rpm –qa mysql
显示
mysql-libs-5.1.73-3.el6_5.x86_64
卸载已安装的MySQL
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
要将/var/lib/mysql文件夹下的所有文件都删除干净,卸载mariadb-libs软件包
rpm -qa | trep mariadb
如果有显示对应的软件,则卸载
yum remove mariadb-libs-...
安装前置依赖
yum -y install perl libnuma* libaio net-tools
2.安装新的MySQL
按下面的顺序安装,前后依赖
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
在安装rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm的时候报错如下:
warning: mysql-community-server-5.7.16-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
net-tools is needed by mysql-community-server-5.7.16-1.el7.x86_64
这个报错的意思是需要安装libaio包和net-tools包:可以yum安装一下。可能报错,包冲突
...
from install of mysql-community-common-5.7.20-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.56-2.el7.x86_64
那么删除mariadb-libs包
yum remove mariadb-libs
3.启动服务
命令启动服务:systemctl start mysqld
查看服务状态:systemctl status mysqld
4. 重置Mysql密码
查看mysql初始化root的临时密码
安装数据库成功后,mysql中会有一个初始化的临时登录密码,使用如下命令查看初始化密码
grep 'temporary password' /var/log/mysqld.log
输入mysql -u root -p命令后,显示输入密码提示,然后输入密码(上面的密码),最后按Enter键。显示登录mysql成功。
修改密码方式1:
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
# 会提示你去重新设置密码才能执行这个语句
# 重新设置密码 修改密码规则等级,该等级是最低等级。
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD = PASSWORD('88888888');
Query OK, 0 rows affected, 1 warning (0.01 sec)
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改密码方式2:
输入quit命令退出数据库后,输入cd /bin命令进行到bin目录下。
输入mysqladmin -u root -p password命令后,显示密码提示,输入数据库的初始化的临时密码后,显示输入新密码和确认密码。
难题解决
强制重置mysql密码,编辑my.cnf文件
vi /etc/my.cnf
在my.cnf找到[mysqld],在下面添加一行skip-grant-tables
Systemctl restart mysqld #重启MySQL服务
进入MySQL控制台
mysql -uroot -p #直接按回车,这时不需要输入root密码。
修改root密码
update mysql.user setauthentication_string=password('123456') where User="root" andHost="localhost";
flush privileges; #刷新系统授权表
grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;
取消/etc/my.cnf中的skip-grant-tables
vi /etc/my.cnf 编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出
重启mysql
systemctl restart mysqld #重启mysql,这个时候mysql的root密码已经修改为123456
进入mysql控制台
mysql -uroot -p #进入mysql控制台
123456 #输入密码
【注:在mysql5.7以后的版本,修改密码的字段不是password而是authentication_string】
查看密码规则等级
登录数据库后,输入select @@validate_password_length;可查看当前的数据库密码规则等级长度,当前的长度为8位字符。
Validate_password_policy有以下取值:
Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
设置密码验证规格等级。
SET global validate_password_policy=0;
RPM 安装 - CentOs 7 - 版本 8.0.15
1.写在前头,可能遇到的问题
一、发生问题1: 在安装 libs 和 libs-compat 时,安装报错
报错内容如下:
# rpm -ivh mysql-community-libs-compat-8.0.15-1.el7.x86_64.rpm
warning: mysql-community-libs-compat-8.0.15-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-compat-8.0.15-1.el7.x86_64
原因:我们在Linux系统中,如果要使用关系型数据库的话,基本都是用的mysql。在7版本以下的centos系统都是默认的集成有mysql。
然而对于现在最新的centos7系统来说,已经不支持mysql数据库,它默认内部集成了mariaDB。
如果我们想要使用 mysql 的话,就要先将原来的mariaDB卸载掉,不然会引起冲突。解决方案
rpm -qa | grep mariadb # 查看安装的 mariaDB
rpm -e [--nodeps] softwareName # 如果不能卸载则用 --nodeps 参数
如:
# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
# rpm -qa | grep mariadb
之后再执行安装,可能出现 下列的问题2,缺少依赖
二、发生问题2:缺少依赖包问题:libaio、libnuma、net-tools。可以一次性安装:
yum -y install numactl libaio perl net-tools
-
缺少依赖包 libaio,显示错误信息.
libaio.so.1()(64bit) is needed by MySQL-server 问题
-
缺少依赖包 libnuma,显示错误信息.
error: Failed dependencies: libnuma.so.1()(64bit) is needed by mysql-community-embedded- compat-8.0.15-1.el7.x86_64 libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-embedded- compat-8.0.15-1.el7.x86_64 libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-embedded- compat-8.0.15-1.el7.x86_64
-
缺少依赖包 net-tools,显示错误信息.
error: Failed dependencies: net-tools is needed by mysql-community-server-8.0.15-1.el7.x86_64
2.安装
我习惯先放在一个目录下,进行解压来处理
mkdir mysql_install
cp mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar ./mysql_install/
cd mysql_install/
tar -xvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm # 可能发生问题1
rpm -ivh mysql-community-libs-compat-8.0.15-1.el7.x86_64.rpm # 可能发生问题2,缺少依赖
rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.15-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm # 可能发生问题2,缺少 net-tools
3.启动服务
- 命令启动服务:systemctl start mysqld
- 查看服务状态:systemctl status mysqld
4.重置Mysql密码
查看mysql初始化root的临时密码
安装数据库成功后,mysql中会有一个初始化的临时登录密码,使用如下命令查看初始化密码
# grep 'temporary password' /var/log/mysqld.log
2019-07-09T09:48:20.313242Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Js1MhlGR/R:H
输入mysql -u root -p命令后,显示输入密码提示,然后输入密码(上面的密码),最后按Enter键。显示登录mysql成功。
修改密码方式1:
# 修改安全等级
set global validate_password.policy=0;
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '88888888';
# 刷新权限
flush privileges;
修改密码方式2,会提示输入旧密码
输入quit命令退出数据库后,输入cd /bin命令进行到bin目录下。
输入mysqladmin -u root -p password命令后,显示密码提示,输入数据库的初始化的临时密码后,显示输入新密码和确认密码。
mysqladmin -u root -p password 新密码
其他
1.相关命令
- 启动:systemctl start mysqld / service mysqld start
- 查看状态:systemctrl status mysqld / service mysqld status
- 停止:systemctrl stop mysqld / service mysqld stop
2.忘记密码
-
先停止 MySQL 服务,如果不能正常停止,则通过 netstat -antp|grep mysql 查看 pid,通过kill方式来停止 mysql 进程
-
跳过授权。使用安全模式进入MySQL,并且跳过授权
mysqld_safe --skip-grant-tables &
-
登录,输入 mysql -uroot -p 不要敲密码,回车进入即可
-
更新密码
mysql> use mysql # 下面2句,如果哪一句不行,就用另外一句 mysql> update user set password=PASSWORD("123456")where user="root"; mysql> SET PASSWORD = PASSWORD('root6666'); mysql> flush privileges; mysql> quit
使用一下mysql这个库就好,然后执行一下update语句(括号里面的是你要修改的新密码),然后刷新一下授权表,最后退出即可。
-
重启Mysql,再用 mysql -u root -p 验证新密码
3.远程登录
修改远程Mysql的权限,登录数据库后,输入
USE `mysql`;
进入mysql数据库后,再输入
SELECT `host`,`user` FROM `user`;
UPDATE `user` SET `host`='%' WHERE `user`='root';
FLUSH PRIVILEGES;
mysql_remote_connection_config
然后可以使用Navicat使用直连方式连接到这个MySQL
而如果是另外一台客户端连接,则必须要安装
rpm -ivh mysql-community-client-5.7.12-1.el7.x86_64.rpm
然后,在命令行下输入:mysql -h 192.168.0.132 -P 3306 -u root -proot,显示登录成功。
在命令行中输入create database testdb; 后按回车创建数据库成功。
为了确认远程的服务器是否有testdb数据库,可回到远程的数据库查看新建的testdb数据库。
网友评论