Linux系统版本:CentOS 7 (MySQL的安装版本是与Linux版本有关的,请大家下载MySQL时注意)
1. 安装MySQL步骤
1.1 检查MySQL是否已经安装 yum list installed | grep mysql
如果已经有了就卸载掉, yum -y remove +数据库名称
1.2 MySQL依赖libaio,所以先要安装libaio
yum search libaio # 检索相关信息
yum install libaio # 安装依赖包
1.3 下载MySQL Yum Repository
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
1.4 添加 MySQL Yum Repository
添加 MySQL Yum Repository 到你的系统 repository 列表中,执行 yum localinstall mysql-community-release-el7-5.noarch.rpm
在执行过程中需要确认,输入y,成功显示
如果提示-bash: wget: 未找到命令,请先执行 yum install wget 安装 wget
1.5 验证下是否添加成功
yum repolist enabled | grep "mysql.*-community.*"
如果需要查看MySQL版本,执行 yum repolist all | grep mysql 可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6
1.6 通过 Yum 来安装 MySQL
yum install mysql-community-server
Yum 会自动处理 MySQL 与其他组件的依赖关系,遇到 y\n 提示,输入 y 继续,执行完成会提示“完毕!”。此时MySQL 安装完成,它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四个包。
1.7 查看安装结果
执行:whereis mysql
可以看到mysql的安装目录是:mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
2. 启动和关闭MySQL
启动 MySQL Server :systemctl start mysqld (第一次启动会要求设置密码)
查看 MySQL Server 状态:systemctl status mysqld
关闭 MySQL Server:systemctl stop mysqld
重启MySQL Server:service mysqld restart
测试是否安装成功:mysql
3. 防火墙设置(如果服务器已经关闭了防火墙,可跳过此步骤)
远程访问 MySQL, 需开放默认端口号 3306.
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
firewall-cmd --reload
4. MySQL安全设置
4.1 服务器启动后,可以执行 mysql_secure_installation;
4.2 修改默认root账号密码
mysql -uroot -proot (-u后面是用户名,默认是root,-p后面是上面配置的密码)
show databases; (显示数据库名命令)
use mysql; (使用默认的mysql库)
update user set password="root" where user="root";
5. 错误解决方案
5.1 权限不够,或密码错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我们要做的是命令行免密登录,修改root默认密码
(1)先停止MySQL服务器 systemctl stop mysqld
(2)使用safe模式,进行重启,因为是yum模式安装的,不需要找安装目录,直接运行命令就可以:./mysqld_safe --skip-grant-tables
(3)使用root账户,无密码登录,修改root用户密码
mysql -u root
use mysql
update user set password=PASSWORD("你的密码") where User = 'root';
flush privileges; // 更新命令
(4)启动MySQL使用新密码登录
mysql -uroot -p 然后输入刚才重置的密码
5.2 使用MySQL工具时连接报错:Host XXX is not allowed to connect to this MySQL server
mysql -u root
use mysql;
select host from user where user='root'; (查询结果会有:127.0.0.1 localhost 等,需要把这些改成%通配符)
update user set host = '%' where user ='root'; 并删除其他的,只保留1条